데이터의 흐름을 나타내는 생키 차트입니다.
Sankey Chart란
생키차트는 데이터의 이동이나 흐름을 시각적으로 강조하는 데에 도움을 주고, 복잡한 프로세스를 단순화해서 보여주기에 적합합니다. 이러한 특징으로 퍼널차트 작성 이전에 사용자의 경로를 탐색하는 데에 사용되기도 합니다.
생키차트는 노드와 링크를 이용하여 데이터를 시각화합니다. 노드는 하나의 데이터 항목이며, 노드를 연결하는 것이 링크입니다. 링크의 두께를 통해 어떤 데이터가 큰지 파악할 수 있습니다.
다만 생키차트는 일반적인 차트가 아니기 때문에, 데이터 시각화에 익숙하지 않은 사용자가 해석하기 어렵다는 단점이 있습니다. 또한 노드가 많아지고 노드 간 간격이 좁아지면 링크가 겹치기 때문에 경로를 구분하기 어려워집니다. 데이터의 크기가 비슷해서 링크의 두께가 비슷한 경우에도 어떤 데이터가 큰지 비교하기 어렵다는 단점이 있습니다.
정리하자면 아래와 같습니다.
- 데이터 흐름을 나타내는 데에 사용
- 데이터의 이동이나 흐름을 시각적으로 강조
- 복잡한 프로세스를 단순화해서 보여주는데 효과적
- 노드와 링크를 바탕으로 데이터 해석
- 노트 = 하나의 데이터 항목
- 링크 = 노드와 노드를 연결해 데이터의 이동 경로를 보여줌</aside>
- 링크의 두께로 어떤 데이터의 크기가 큰지 파악할 수 있음
- 단점은 없을까?
- 데이터 시각화에 익숙하지 않은 사용자가 해석하기 어려움
- 노드가 많아지고, 노드 간 간격이 좁아지면 링크가 겹쳐 경로를 구분하기 어려워짐
- 데이터의 크기가 비슷해서 링크의 두께가 비슷한 경우, 어떤 데이터가 큰지 확연하게 비교하기 어려움
데이터 및 변수 준비
데이터 준비
다운로드받은 데이터, 혹은 사용할 데이터셋 파일명을 간단한 이름으로 바꿔주세요. 저는 IBM data로 변경하였습니다.
이후 태블로에서 데이터 원본을 연결한 뒤, [유니온으로 변환]을 선택합니다.
동일한 파일을 넣어준 뒤, 확인을 선택합니다.
여기까지 마치면 [테이블 이름]이라는 컬럼이 생성됩니다.
변수 준비
- 계산된 필드 만들기
- Path : if [테이블 이름] = 'IBM data.csv' then 1 else 49 end
- 시작점 = 1, 끝점 = 49
- 차원으로 변경
- T : (INDEX()-25)/4
- index의 최소값은 1, 최대값은 49이기 때문에 T의 최소값은 -6, 최대값 6이 됩니다.
- Rank1 : RUNNING_SUM(SUM([Employee Count]))/TOTAL(sum([Employee Count]))
- Rank2 : RUNNING_SUM(SUM([Employee Count]))/TOTAL(sum([Employee Count]))
- sigmoid : 1/(1+EXP(1)^-[T])
- Curve : [Rank1] + (([Rank2] - [Rank1]) * [sigmoid])
- 노드 간 링크를 곡선으로 나타내기 위해 curve와 sigmoid 변수가 필요합니다.
- Size : RUNNING_AVG(SUM([Employee Count]))
- employee count를 기준으로 데이터의 크기를 표현하기 위해 필요한 변수입니다.
- Path : if [테이블 이름] = 'IBM data.csv' then 1 else 49 end
- 구간차원 만들기
- padding : path 우클릭 > 만들기 > 구간차원 > 구간 크기 = 1로 설정
- padding 변수 생성 후, 행에 padding 변수 투입 > 우클릭 > [누락된 값 표시] 체크
- padding : path 우클릭 > 만들기 > 구간차원 > 구간 크기 = 1로 설정
링크 시트 만들기
- 마크 : 원
- 세부 정보
- padding
- Education Field
- Department
- 열 : T
- 우클릭 > 다음을 사용하여 계산 > padding
- 행 : Curve
- 우클릭 > 테이블 계산 편집
- Rank1, Rank2 : 특정 차원 > Education Field, Department, padding 순으로 드래그 및 선택
- T : 특정 차원 > padding
- 우클릭 > 테이블 계산 편집
- 마크 : 라인으로 변경
- 세부정보에 있던 padding 경로로 이동
여기까지 완료하시면 아래와 같은 차트가 만들어집니다.
선이 꺾이는 부분(빨간 상자)을 해결하기 위해선 X축 범위를 편집해야 합니다.
- X 축 범위 : -5.5 ~ 5.3
- Y축 편집
- 눈금 반전 선택
- 축 범위 고정 : 0 ~ 1
- Education Field 색상으로 변경
- 크기 : Size
- 우클릭 > 다음을 사용하여 계산 > padding
- 디자인 작업 : 눈금선 삭제, 축 숨기기 등
노드 시트 만들기
노드는 양쪽에 위치해야 하기 때문에 노드 시트는 총 2개가 필요합니다. 노드 필드는 Education Field와 Department 이며, 아래와 같은 시트를 2개 만든 뒤 (노드 필드)라고 적힌 곳에 각각의 노드 필드를 넣어주시면 됩니다.
- 행 : Employee Count
- 우클릭 > 퀵 테이블 계산 > 구성 비율
- 색상 : (노드 필드)
- Education Field와 Department 색상이 겹치지 않도록 시트의 팔레트 색상을 바꿔주세요
- 레이블 : 레이블 텍스트가 전부 막대 안에 들어올 수 있도록 막대 너비 조정
- (노드 필드)
- Employee Count : 우클릭 > 퀵 테이블 계산 > 구성 비율
- 축 편집
- 고정 : 0 ~ 1
- 이후 축 숨기기
- 디자인 작업 : 눈금선 삭제, 축 숨기기 등
대시보드 생성
- 바둑판식 : chart 삽입
- chart 양 옆에 가로 컨테이너 삽입
- 부동 : education 우측에 위치, department 좌측에 위치
Reference
[Tableau] 생키 다이어그램(Sankey Diagram) 시각화하기
Table of Contents Introduction Data Tableau에서 생키 다이어그램 시각화하기 Reference Introduction 생키 다이어그램(Sankey Diagram)은 각 단계별 물량의 변화를 한 눈에 표현하기 위한 목적으로 사용한다. 특히,
jaydata.tistory.com
'Data > Tableau & Power BI' 카테고리의 다른 글
참고 사이트 모음 (0) | 2024.09.15 |
---|---|
[Power BI] Tableau와 Power BI 비교하기 (0) | 2024.09.08 |
태블로 Radial Bar Chart (0) | 2024.05.18 |
태블로 Gauge Chart (0) | 2024.05.01 |
태블로 배경 이미지에서 좌표 찾기(+openCV) (1) | 2024.04.04 |