여러 개의 데이터셋을 다룰 때 관계와 조인은 매우 중요한 기능이다. 이들을 사용하여 데이터셋 간의 관계를 설정하고 필요한 정보를 효과적으로 결합할 수 있다.
관계
: 관계는 두 개 이상의 데이터 테이블 간의 연결을 정의한다. 이 관계를 설정함으로써 두 테이블 사이의 데이터를 연결하고 하나의 테이블로 합칠 수 있으며 이는 데이터베이스에서 테이블 간의 관계를 설정하는 것과 유사하다. 관계를 설정하면 데이터의 중복이나 불일치를 방지하고 데이터의 정확성을 유지할 수 있다.
조인
: 조인은 관계를 이용하여 두 개 이상의 테이블에서 필요한 정보를 결합하는 작업이다. 예를 들어, 고객 정보가 있는 한 테이블과 주문 정보가 있는 다른 테이블이 있을 때, 이 두 테이블을 조인하여 각 고객의 주문 정보를 얻을 수 있다. 이를 통해 여러 데이터셋으로부터 필요한 정보를 효과적으로 조합하여 분석하고 시각화할 수 있다.
태블로에서도 테이블 조인이 가능하다. 사용자는 태블로의 시각적 인터페이스를 통해 SQL의 JOIN과 유사한 방식으로 테이블 간의 결합을 설정할 수 있으며 직접 SQL 쿼리를 작성하지 않아도 태블로의 사용자 인터페이스를 통해 테이블 조인을 설정할 수 있다.
태블로에는 관계 기능이 있어서 조인 없이도 테이블 간의 관계를 설정할 수 있다. 이를 통해 테이블 간의 관계를 설정하고 필요한 정보를 결합할 수 있다.
태블로의 관계 기능을 사용하면 두 개의 테이블이 하나의 테이블로 병합되지 않고 별도의 테이블로 남아 있다. 각각의 테이블 형태를 유지하면서 특정 컬럼들이 같다는 것을 알려준다. 이렇게 하면 단일 테이블로 병합될 때 발생할 수 있는 데이터 중복이나 필터링 문제를 방지할 수 있다.
SQL의 JOIN을 사용할 때 데이터가 중복되거나 사라지는 문제를 겪는 것은 일반적인 문제 중 하나이다. 이는 잘못된 JOIN 조건이나 중복된 데이터의 처리 등으로 인해 발생할 수 있다. 이러한 문제를 해결하려면 신중한 데이터 모델링과 적절한 JOIN 조건 설정이 필요하다.
이러한 관계와 조인은 데이터 분석 및 시각화 작업에서 매우 중요한 역할을 한다. 따라서 태블로를 사용하여 데이터를 다룰 때 이러한 기능을 적절히 활용하는 것이 중요하다.
그럼 태블로에서 JOIN을 해보자.
1) 화면 왼쪽 하단의 데이터 원본
클릭
2) '운영형태별'이라는 데이터 테이블 더블클릭
테이블 JOIN을 실행할 때에는 JOIN 전과 후의 각 테이블의 전체 행 수를 확인하는 것이 중요하다. JOIN 후에 행 수가 변경되는지 확인하여 데이터의 일관성을 보장할 수 있다.
3) '취급상품범위별' 테이블을 드래그앤드랍하여 '운영형태별' 테이블과 JOIN
이제 두 테이블 사이에 결합 방식이 표시된다. 결합 방식을 클릭하면 아래 이미지와 같이 조인 창이 나타난다.
이제 여기서 적절한 조인 유형과 조인 조건을 선택하여 데이터를 결합할 수 있다.
각 결합 방식은 SQL에서 보던 결합 방식과 동일하다. 안쪽 결합은 INNER JOIN에 해당하고, 왼쪽 결합은 LEFT JOIN, 오른쪽 결합은 RIGHT JOIN, 완전 외부 결합은 OUTER JOIN에 해당한다.
하단에는 조인 키로 사용할 컬럼을 지정할 수 있다. 왼쪽에 있는 '운영형태별' 데이터 테이블이 데이터 원본이 되고, 오른쪽에는 새로 조인할 '취급상품범위별' 테이블이 표시된다.
'날짜'와 '상품군별' 컬럼이 서로 같기 때문에 이 두 컬럼을 조인 키로 사용해주면 된다.
그러면 행이 7084개로 증가한 것을 확인할 수 있다. 이러한 결과는 데이터 그리드를 통해 확인할 수 있다. 현재 데이터 그리드는 두 개의 테이블을 JOIN한 결과를 보여주고 있다.
상품군별(1) 행이 4개로 증가한 것을 확인할 수 있다 (아래 이미지에서 컴퓨터 및 주변기기 참고).
운영형태별 컬럼과 취급상품범위별 컬럼은 서로 다른 내용을 가지고 있어서 JOIN 키로 사용할 수 없기 때문에 이런 결과가 발생한 것이다. 따라서 행이 2배가 되었다.
현재 데이터셋은 조인 방식으로는 적합하지 않은 것으로 보인다. 따라서 JOIN 대신 관계를 설정해야 한다.
관계를 설정하기 전에 '취급상품범위별'을 조인에서 제거해야 한다.
1) '취급상품범위별'의 ▼ 클릭 후 제거
선택
'취급상품범위별'를 제거하면 다시 행의 개수가 3542개로 돌아온 것을 확인할 수 있다.
오른쪽 상단의 x 버튼 클릭을 클릭하여 조인 설정 창을 닫는다.
이렇게 하면 '운영형태별'을 더블클릭하기 전으로 돌아갈 수 있다.
이제 관계 방식을 사용하여 두 테이블 간의 관계를 설정해보자.
1) '취급상품범위별'을 다시 드래그앤드랍하여 '운영형태별' 테이블과 연결
위 이미지에서처럼 두 테이블 간에 선이 생긴 것을 확인 할 수 있다. 이것이 바로 태블로에서 관계
를 설정하는 것이다.
위 이미지처럼 선이 나타난 이유는 아직 아무런 조건도 설정하지 않았기 때문에 에러가 표시되고 있다. 하지만 에러 아이콘을 클릭하여 관계를 생성할 수 있다.
2) 관계를 생성하기 위해 아래 이미지와 같이 설정
이제 두 테이블간의 관계가 성공적으로 생성되었다.
위의 작업은 '운영형태별'의 날짜 컬럼은 '취급상품범위별'의 날짜 컬럼과 같고 '운영형태별'의 상품군별 컬럼은 '취급상품범위별'의 상품군별 컬럼과 같다라고 태블로에게 지정을 해준것이다. 오른쪽에 있는 데이터 그리드를 보면 원본 데이터의 형태를 그대로 유지하고 있고 JOIN 조건을 지정했을 때처럼 테이블의 변화가 생기지 않았다. 이것이 바로 태블로에서 이용하는 관계다.