본문 바로가기

IT

[Tableau] Join

반응형

오랜만에 포스팅을 하게 되었는데, 지난 데이터 원본 만들기에서 Join 관계에 대해 적어보려 합니다.

IT 업무에 종사하시는 분들이라면 기본적으로 알고 계실만한 이야기지만, Tableau를 처음 접하고 DB에 대해 잘 모르시는 분들에게 도움이 되고자 내용을 공유합니다.

 

Join을 사용하는 경우는 두개 이상의 서로 다른 테이블을 한 화면에 표시하기 위해 사용하는데 Tableau에서 기본적으로 4가지의 Join 유형(Inner Join, Left Outer Join, Right Join, Full Outer Join)이 있습니다.

 

#1 Inner Join

Inner Join

Inner Join은 사진과 같이 교집합으로 구성되어 있으며, 서로 다른 내용의 테이블 내용 중 공통된 값 (Key)을 기준으로 일치 하는 것만 데이터를 가지고 옵니다.

 

Orders Table, Returns Inner Join

Orders (주문) 테이블에는 고객이 어느 물품을 주문했는지에 대한 데이터이며, Returns (환불) 테이블은 환불 신청한 고객에 대한 테이터입니다.

 

Orders 테이블 중에서 환불 고객이 어떤 고객인지 확인한다 가정 했을 때 Orders 테이블에는 환불에 대한 정보가 없기 때문에 Returns 테이블을 하나로 합쳐 환불한 고객을 확인합니다.

 

이 때, 각 테이블 하나로 엮기 위해서는 Key (테이블을 하나로 엮기 위해 사용되며, 중복되지 않는 고유한 값) 라는 값을 정해야하는데, 두 테이블에서는 "Order ID"로 기준을 잡습니다.

 

Key (Order ID) 값 설정과 Inner Join

 

Inner Join은 Key 값 기준으로 서로 일치하는 값만 결과를 나타내며, 일치 하지 않는 값들은 제거됩니다.

Inner Join 결과

 

#2 Left Outer Join

Left Outer Join

Left Outer Join은 왼쪽에 위치해 있는 테이블 기준으로 다른 테이블의 데이터를 붙이는데, 왼쪽에 대한 데이터가 주 데이터로 모든 데이터가 나오며, 왼쪽 기준으로 추가적인 Returns 테이블 정보가 추가됩니다.

 

Join 하는 방식은 이전에 Inner Join에서 Key 설정한 방식과 동일합니다.

 

Left Outer Join이기 때문에 왼쪽 테이블의 Key 값 기준으로 일치하는 것만 Returns 테이블 정보가 추가됩니다.

Left Outer Join 결과

위의 사진처럼 Returns 테이블의 Key 값이 왼쪽 기준이 되는 Orders 테이블의 Key값을 모두 가지고 있는 경우 모든 데이터가 표시가 되지만, Orders 테이블의 Key 값이 Returns 테이블에는 없다면 "Null"로 표시됩니다.

 

#3 Right Outer Join

Right Outer Join

Right Outer Join은 Left Outer Join과 반대가 되는 Join으로 오른쪽 테이블 기준으로 다른 테이블의 데이터를 붙이는데, 오른쪽에 대한 데이터가 주 데이터로 모든 데이터가 나오며, 오른쪽 기준으로 추가적인 Returns 테이블 정보가 추가됩니다.

 

Join 하는 방식은 이전에 Inner Join에서 Key 설정한 방식과 동일합니다.

 

Right Outer Join이기 때문에 오른쪽 테이블의 Key 값 기준으로 일치하는 것만 Orders 테이블 정보가 추가됩니다.

 

Right Outer Join도 마찬가지로 Returns 테이블의 Key값이 Orders 테이블에는 없다면 "Null"로 표시됩니다.

Right Outer Join 결과

 

#4 Full Outer Join

Full Outer Join

Full Outer Join은 Inner Join과 반대로 서로의 Key 값이 일치 하지 않아도 각 테이블의 모두 값을 표시하게 됩니다.

 

Full Outer Join 결과

 

Tableau에서 Join의 유형은 기본적으로 4가지로 구성되어 있으며, Excel 데이터가 아닌 DB로 데이터를 사용하는 업무 환경이라면 "사용자 지정 SQL" 이라는 기능으로 직접 쿼리를 짜서 데이터 원본을 구성 할 수 있습니다.

 

Google Big Query Sample을 통한 사용자 지정 SQL

 

업무 요건에 따라 Join의 유형을 사용하고 데이터 원본 생성이 되면 Tableau 차트를 구성할 수 있습니다.

 

반응형