태블로로 이용자가 설정한 기간에 따라 이전 동일한 기간을 쉽게 비교하도록 사용자의 편의성을 최대화하는 방향으로 그래프 그리는 방법을 공유드립니다. 사용자가 지정한 시작일과 종료일을 입력하면 자동으로 기간을 계산하고 해당 기간의 이전 기간을 동일한 축(Axis)에 비교하도록 고안, 설계했습니다.
7일 배수로 보면 동일 기간의 전주 대비 매출 변화와 추세를 쉽게 확인할 수 있습니다. 기간을 한 달로 설정하면 전월 대비 매출 변화와 추세를 확인할 수 있습니다.
방법
방법은 동적으로 시각화가 변하도록 매개변수를 활용한 계산된 필드로 필터, 열, 행에 배치하여 기간에 따라서 해당 기간만 필터링하여 계산된 값을 리턴하는 것을 이용했습니다.
방법을 따라 하다가 길을 중간에 잃었다면 크로스탭 형식으로 값을 확인해 보시기 바랍니다.
1. 날짜 매개변수 간의 기간을 계산하는 매개변수 생성하기
매개변수로 기준이 되는 시작일과 종료일을 만듭니다.
2. 날짜 파라미터간의 기간을 구하는 계산식 생성하기
시작일과 종료일 간의 기간을 구하기 위해서 DATEDIFF() 함수로 일자 기준으로 차이를 구하고 종료일 포함하여 계산하도록 +1 더합니다. 예로, 2023.03.19 ~2020.03.20이라면 2일로 계산하게 됩니다.
응용해서 원하는 계산 하는 방식에 맞추어 시간, 일, 월로 설정 가능합니다.
3. 각 기간을 계산할 boolean을 필드 생성
계산된 필드에 원하는 기간의 값만 계산할 수 있도록 boolean 필드를 생성합니다. 해당 기간에 속하면 True을리턴하고 그렇지 않으면 False 리턴합니다.
4. 동일한 축에 그려지도록 날짜 계산
위의 boolean 필드를 이용해서 데이터의 날짜가 매개변수기간에 속하면 해당 데이터 날짜, 동일한 기간의 이전에 속한다면 그전 날짜에 그 기간만큼 더해서 동일한 동일한 축에 그려집니다.
예. 2023.03.20~2023.03.21 인 경우 2023.03.18~2023.03.19가 되고 여기에 2일 차가 나기 때문에 +2를 해주면 20과 21일에 각 계산된 값이 그려지게 됩니다.
이해가 잘 되지 안흔다면 계산되는 방식 확인하기 위해서 시작일과 종료일을 2017년 기준으로 놓으면 rage_filter에 의해서 해당 기간에 과 동일한 기간의 이전 기간은 참이 되며 range_equalizer 통해서 해당 기간만 NULL이 아니며 동일한 기간으로 바뀌어 계산되었음을 알 수 있습니다.
5. 각 기간에 대해 집계
각 기간에 속한다면 매출 합계를 구하고 나머지는 NULL 처리하여 계산에서 제외합니다.
6. 각 필드를 시각화하는 위치에 놓기
이제 계산된 필드를 이미지와 같이 배치하면 동적으로 시각화 됩니다. 측정값 이름을 필터에 놓고 측정값을 행, 기간을 동일하게 만들어주는 range_euqlizer를 열에 놓으면 됩니다.
7. 원하는 기간에만 선형 추세선 추가하기(선택)
두 기간 모두 추세선 추가하면 쉽게 나오나 원하는 기간에만 추세선을 추가하려면 하단과 같이 두 개의 그래프를 그려서 하나로 합치는 트릭을 이용했습니다.
원하는 측정값에만 추세선을 그리려면 해당 측정값을 행에 추가하여 추세선을 추가하고 이중축 만들고 축동기화하게 되면 됩니다.
동일한 내용을 ElasticSearch Kibana timelion으로 구현했었는데 더 많은 커스텀하려 하니 한계에 부딪치고 vega를 배울까 했었는데 태블로로 구현해 보니 쉽게 뚝딱 만들 수 있었습니다. boolean, 계산된 필드를 활용해서 원하는 값만 필터링하여 동적이면서도 사용자 친화적으로 대시보드 생성이 가능했습니다.
항상 시각화 하면서 내가 할 수 있는데에서 제한두지 않고 태블로를 잘 모르는 이용자의 입장을 고려해서 어떤 식으로 탐색하고 보고 싶을지와 더 직관적인지 고민하는 시간을 갖으며 제작했습니다. 만들었던 대시보드의 시각화는 추가로 각 기간별 누적합계도 비교하고 해당 기간의 매출 높은 제품을 볼 수 있도록 동적으로 만들었는데 추후에 가능하면 샘플 데이터로 다뤄보도록 하겠습니다.
데이터 출처:
https://public.tableau.com/app/resources/sample-data
관련글
[리뷰] 누구나 바로 시작하는 태블로, 나도? 나도!(+실습 후기)
[Tableau] Tableau Prep 시작- 설치, 세팅, 데이터 연결, 정리
[Tableau] Tableau Desktop Specialist 태블로 데스크탑 스페셜리스트 자격증 합격 후기(소개,시험 팁)
[Tableau]태블로 UDT(소개,일정,신청,커리큘럼,난이도,무료 교육)
[Tableau] Tableau Desktop Specialist 태블로 데스크탑 스페셜리스트 자격증 합격 후기(소개,시험 팁)
'Data > BI' 카테고리의 다른 글
[Tableau]태블로 UDT-1회차 시간의 지배자(유형,날짜 함수,yoy ytd mtd) (0) | 2023.05.20 |
---|---|
[Tableau] 태블로 동적으로 카테고리 별 상위 Top N개/순위 시각화/계산하기 (0) | 2023.04.10 |
[Tableau] Tableau Prep 시작- 설치, 세팅, 데이터 연결, 정리 (0) | 2023.01.11 |
[Tableau] 태블로 신병 훈련소 2주 차 회고 - 더 나은 시각화 (0) | 2023.01.07 |
[Tableau] 태블로 신병 훈련소 1주 차 회고 - 기본원리 (0) | 2022.12.25 |