[ 유데미 스타터스 ] 37일차 TIL 프로젝트 기반 Tableau 실전 트레이닝 - 심화 그래프 (WATERFALL, 막대 게이지, 벤다이어그램, 불릿차트, 캘린더 시각화)
1. 태블로 실습
1.1 waterfall chart
: 폭포 차트는 연속적으로 누적하면서 증가하거나 감소하는 것을 한 눈에 표현하기 위한 목적으로 사용
① waterfall 함수 만들기
- [Sales]
** profit의 경우 음수값도 있어서 사용해도 문제는 없지만 항상 주의
** 간트 차트는 선으로 나오지만 Waterfall은 선을 기준으로 아래로(-) 누계
② 그래프 만들기
- Sales는 행, Region은 열로 이동 → 마크 간트 차트로 변경
- Sales 퀵 테이블 계산 → 누계
- Region 색상, waterfall 크기, Sales 레이블로 이동
** 레이블 필수. 단위 K로 변경
** WINDOW 함수 등 응용 가능
- 분석 → 총계 → 행 총합계 표시
1.2 막대 게이지 차트
: 일반적인 게이지 차트와 유사함, 자동차 대시보드에 있는 게기판 형태로 시각화하여 현재의 상태가 어떤지 한눈에 파악하기 위한 목적으로 사용
① 득점 함수 만들기
- ZN 함수 : NULL이 아니면 식을 반환하고, NULL이면 0을 반환함. NULL 값 대신 0 값을 사용할 수 있음.
ZN([Profit]/[Sales])
② 그래프 만들기
- 열 더블클릭 1 → 차원으로 변경 → 득점 (평균으로 변경) → 이중 축 → 축 동기화
** 배경을 만들고 색상이 채워져 있는 필드(측정값)를 만드는 것
- 마크 막대로 변경, Region 행으로 이동
- 축 우클릭 → 축 편집 → 고정 → 고정된 끝 1로 변경
** 축 고정 안하는게 좋음
1.3 벤다이어그램
: 벤 다이어그램은 각 영역에 포함된 정보와 두 영역에 모두 포함되는 정보를 한 눈에 표현하기 위한 목적으로 사용
** 한번 보여줄 때 사용하는 것이 좋음
① 레이아웃 만들기
# circle_locate
IF [Type] = "핫"
THEN -1
ELSE 1
END
# text_locate
IF [Product] = "라떼" OR [Product] = "아이스 라떼"
THEN 0
ELSEIF [Type] = "핫"
THEN -1
ELSE 1
END
# text_label
IF [Product]="라떼" OR [Product]="아이스 라떼"
THEN "
|
|
|
|
|"
ELSEIF [Type]="핫"
THEN "핫"
ELSE "아이스"
END
② 그래프 만들기
- circle_locate, text_locate 열로 이동 → 차원으로 변경
- 전체 마크 원, text_locate 마크 텍스트로 설정
- 이중 축 → 전체 보기 → 축 동기화
- 원 크기 키워서 겹치게 만들기
- text_label, 원하는 측정값을 text_locate의 텍스트로 이동
- Type을 circle_locate의 색상으로 이동 → 불투명도 50
1.4 불릿 차트
: 실적 데이터를 표현하기 위한 그래프로 목표 달성 대비 실적 결과를 보여주기 위한 목적으로 사용
① target 함수 만들기
{ FIXED DATETRUNC("year", [Order Date]) : sum(60000) }
* avg, sum 결과 같음. 집계를 위해 사용한 것
② 그래프 만들기
- Profit, target 함수 열로 이동 → 표현 방식 → 불릿 그래프
- 축 우클릭 → 참조선 필드 바꾸기
- Order Date 행으로 이동 → 마크 막대로 변경
- Profit 레이블로 이동
** 레이블 필수. 서식 변경해서 K 붙이기. 텍스트 부동으로 변경해서 단위를 우측 상단에 표시
** 참조선 레이블은 텍스트 부동으로 표현. 발표할 때는 주로 스크린샷이라 꼭 자동화할 필요는 없음
1.5 캘린더 시각화
- 달력은 흔히 스케줄을 표시할 때도 있지만 일별 데이터를 비교하기 위한 목적으로 사용됨. 특히, 우리나라와 같이 계절성이 있기 대문에 1년 52주차의 변화가 눈에 띈다거나 계절성의 영향을 받지 않더라도 주차별로 데이터의 변화를 손쉽게 파악할 수 있으며, 요일별로 함께 교차분석으로 활용하기 적절한 시각화 기법. 태블로에서 달력을 구현하기 위해서는 모든 해당하는 날의 날짜 데이터가 반드시 있어야 함.
** LOD 적용 X
① weekend 함수 만들기
- 주 별로 다른 색 표현하기
** 필드로 나누고 색을 지정해 주는 것이 빠름
# weekend
IF DATEPART('weekday', [Order Date]) = 1
OR
DATEPART('weekday', [Order Date]) = 7
THEN "weekend"
ELSE "weekday"
END
② 그래프 만들기
- 열 : Order Date → 자세히 → 요일 / 행 : Order Date → 자세히 → 주 번호
- 색상 : weekend 함수, 텍스트 : 일(Order Date)
** 텍스트 활용할 때 무엇을 표현했는지 작성하기 (ex. profit : 80)
- 필터 : Order Date → 연도/월
- 필드 레이블 숨기기, 주 머릿글 제거, 날짜 서식 바꾸기 (ex. Sunday → Sun)
** 인사이트 - 굳이 휴무일을 정한다면 화요일이 좋다!!