[ 파워쿼리 ] 쿼리 병합 ( Nested Join )

2024. 11. 17. 07:21Power BI/파워 쿼리 ( Power Qeury )

728x90
반응형

파워쿼리의 쿼리 병합에 대해서 알아보겠습니다.

데이터 분석에서 가장 중요한 것은 다수의 데이터를 결합하는 것입니다.

엑셀 vlookup과 동일한 기능이지만 더 Powerful한 방법

결합하는 것도 연관성이 있는 내용들을 결합하는 것이 매우 중요합니다.

아래와 같은 2개의 테이블을 준비해 보겠습니다.

하나는 매출데이터 하나는 이익 데이터입니다.


 

아래와 같이 파워쿼리 창을 열어 주었습니다.

쿼리 창에 데이터 테이블과 이익 테이블 2개의 테이블이 들어있습니다.


※ 다양한 데이터 소스의 결합


해당 데이터는 엑셀데이터와 텍스트 데이터의 데이터를 사용한 각각의 데이터입니다.





파워쿼리는 테이블의 결합도 있지만 다양한 테이터 소스들도 같이 작업할 수 있는 장점도 있습니다.


 

우선 쿼리 병합을 눌러 옵션을 한번 알아보도록 하겠습니다.

쿼리 병합 : 기존 테이블에서 작업

쿼리를 새 항목으로 병합 : 새로운 테이블을 만들어서 작업

 

쿼리 병합을 누르면 아래와 같은 창이 뜨게 됩니다.

왼쪽( Left ) :  데이터 테이블 오른쪽( Right ) : 이익이 있는 테이블

 

조인 종류는 위의 순서는 다르지만 데이터를 결합하는 다양한 방법입니다.

보통 벤다이어그램으로 표한하면 쉽게 볼 수 있어 밴 다이어 그램으로 넣어 보도록 하겠습니다.

여기서 앤트가 붙으면 내부를 제외한다고 보시면 됩니다
반응형
왼쪽 외부 오른쪽 외부 완전외부
왼쪽 앤티 오른쪽 앤티 내부


 

왼쪽 외부

우선 병합을 하기 위해서는 병합이 되는 항목을 선택해 주어야 합니다.

데이터 테이블에 있는 구분과 이익에 있는 구분을 기준으로 병합을 해 줄 것이라는 의미로

음영이 있는 곳을 선택해 주도록 하겠습니다.

맨 아래 보시면 3/5개의 테이블과 일치한다고 나오는 부분을 봐 주십시오.

 

조인을 진행하면 바로 결과가 나오는 것이 아닌 데이터 테이블의 구분에 있는 항목과 일치하는 이익 테이블에서

테이블 형식으로 가져오는 것을 볼 수 있습니다.

구분 "a"의 이익 테이블을 살짝 눌러보면 아래와 같이 이익 테이블 "a"의 값을 가져오는 것을 볼 수 있습니다.

그럼 이익의 확장테이블을 이용해서 이익만 확장해 보도록 하겠습니다.

 

 

원래는 이익 컬럼만 확장하지만 이해를 위해서 이익 테이블의 구분도 확장해 보도록 하겠습니다.

 

 

아까 3/5테이블과 일치한다는 내용을 다시 상기해 보도록 하겠습니다.

a, b, c는 동일한 값이 존재하기 때문에 이익 테이블에서 해당 값을 불러오고 해당 내용이 없는 

d, e의 값은 null 값으로 가져온 것을 볼 수 있습니다.


 

오른쪽 외부

이번에는  오른쪽 외부를 선택해 보도록 하겠습니다.

왼쪽 외부와 작동하는 원리는 동일합니다.

 

하지만 이번에는 데이터 테이블이 아닌 이익 테이블의 값은 모두 가져오고 

d, e 값은 null로 나오고 있는 것을 볼 수 있습니다.

 

아래와 같이 데이터 테이블에서 이익 테이블 아래의 값으로 출력하는 항목이 변경되는 것을 볼 수 있습니다.


 

완전 외부

이번에는 완전 외부 옵션을 선택해 보도록 하겠습니다.

 

아까와는 다르게 유사 일치 여부가 표기되지 않습니다.

왜냐하면 아래와 같이 모든 값을 출력할 것이기 때문입니다.


내부 ( 가장 많이 사용 )

이번에는 아래와 같이 내부 조인을 선택해 보도록 하겠습니다.

728x90

 

왼쪽, 오른쪽 외부에서 동일한 값만 출력하는 것을 볼 수 있습니다.


 

왼쪽 앤티 ( 개인적으로 사용 빈도 높음 )

이번에는 왼쪽 앤티를 선택해 보도록 하겠습니다.

보통 내부를 많이 사용하지만 개인적으로는 해당 조인을 자주 사용하는 편입니다.

새로운 항목이 추가되는 상황이 되면 기존값 + 새로운 항목의 값을 동시에 봐야 하는 데 그때 활용도가 매우 높습니다.

 

아래와 같이 데이터 & 이익의 공통 요소는 빠지가 왼쪽( 데이터 ) 테이블 중 이익 테이블에 없는 항목만 반환이 됩니다.


오른쪽 앤티

마지막으로 오른쪽 앤티를 선택해 보도록 하겠습니다.

왼쪽 앤티와 방향만 바뀌었다고 보시면 될 것 같습니다.

 

왼쪽 앤티와 반대로 오른쪽( 이익 ) 테이블에서 왼쪽( 데이터 ) 테이블과 동일 내용은 빠지고 

동일하지 않은 값만 출력되는 것을 볼 수 있습니다.


 

이렇게 다양한 방법으로 오른쪽과 같이 결과를 도출할 수 있습니다.

( 이번에는 가장 많이 사용되는 왼쪽 외부로 결과를 도출하였습니다, 가장 처음에 있어서 무조건 누르게 됩니다 )

 

728x90
반응형