태블로에서 top N개 추출에서 응용한 각 카테고리별 top N개 추출하는 방법 소개하겠습니다.
실제로 업무 하다 보면 특정 카테고리에서 매출이 가장 많이 나오는지 기간별로 확인해야 할 필요가 있습니다. 그래서 원하는 기간에 원하는 수만큼 추출하도록 동적으로 적용하여 사용자가 드릴다운 할 수 있도록 만들었습니다.
보통 상위 n개로 하는 경우 index() , rank() , rank_dense() 함수로 가능하며 rank의 경우에는 정렬순서 지정이 필요 없습니다. 하지만 작동 원리 이해를 위해서 index() 함수로 하는 방법으로 공유드립니다.
1. 기본적인 열, 행, 필터, 마크 텍스트에 계산할 값을 넣어 테이블을 만든다.
열:기간
행: 카테고리, 서브카테고리
마크 텍스트 : 매출 합계(Sum(sales))
2. 동적으로 만들어 줄 매개변수를 만든다.
각 카테고리 내 서브 카테고리에서 상위 매출 n 개 가져올 개수를 정할 매개 변수를 기본값 지정하여 만들어준다.
3. 위의 매개변수를 기반으로 동작시킬 함수를 만든다.
인덱스는 정해진 기준에 따라서 정렬한 순서대로 번호를 매긴다.
하단의 함수는 주어진 값을 인덱싱 하고 상위 매출 서브카테고리 매개변수모다 작은 인덱스만 가져온다. 3이라면 1,2,3을 남기는 것
추가적으로 원하는 기간만 필터링하는 방법은 이전 포스트 참고 바랍니다.
[Tableau] 태블로-두 기간을 동일한 축에 동적으로 시계열 시각화하는 법
4. 인덱싱을 필터에 추가해 주고 참 값만 가져온다.
표시하면 하단과 같이 모든 값에 참으로 표기되는데 테이블 계산 기본값이 테이블(옆으로) 이기 때문에 옆의 필드가 따로 없어 무조건 1이 되어 모든 값이 참으로 나온다.
5. 테이블 계산을 원하는 형식에 맞추어 선택한다.
각 카테고리별 서브카테고리 상위 n개: 테이블 계산 > 특정 차원 :서브 카테고리 > 정렬 : 사용자지정(좌측 이미지)
전체 카테고리 중 상위 n개: 테이블 계산 > 특정 차원 카테고리, 서브 카테고리 > 정렬 : 사용자지정(우측 이미지)
6. 매출 합계 기준으로 내림차순 정렬한다.
정렬> 필드> 합계(Sales) 기준으로 정렬
주어진 기간 동안 매출 합계가 가장 큰 경우에 따라 정렬된다. 특정 기준으로 정렬되기 원한다면 따로 함수 만들어야 한다.
추가로 세부 정보 추가하고 도구 설명 변경하여 추가적인 정보를 제공하였다.
7. 시각화로 변경하기
복잡한 경우 테이블로 값 변화 확인한 후 시각화로 변경해 주는 것이 값을 바로 확인하면서 보완할 수 있어 추천한다.
매출 합계를 마크 색상, 크기(막대)에 넣어 매출에 따라서 비교를 쉽게 하도록 바꾸어준다.
원하는 경우 다양한 필터를 넣으면 끝
하단의 이미지는 Segment 필터를 넣어 개인, 기업, 홈 오피스별로 각 카레고리 매출 상위 3 확인할 수 있도록 하였다. 개인과 기업은 가구에서 유사한 수요를 보이는 반면 home office는 기업과 사무용품, 개인과 기술 부분에 동일한 품목이 상위 매출로 올라온 것을 알 수 있다.
함수로 순위 계산해서 만드는 방법도 있으나 테이블 계산으로 특정 차원 조정하는 것으로 세부적인 컨트롤 하는 방법으로 알아보았습니다. 추후에 동일한 내용을 함수로 어떻게 구현해 내는지도 공유드리도록 하겠습니다.
관련글
[리뷰] 누구나 바로 시작하는 태블로, 나도? 나도!(+실습 후기)
[Tableau] Tableau Prep 시작- 설치, 세팅, 데이터 연결, 정리
[Tableau] Tableau Desktop Specialist 태블로 데스크탑 스페셜리스트 자격증 합격 후기(소개,시험 팁)
[Tableau]태블로 UDT(소개,일정,신청,커리큘럼,난이도,무료 교육)
[Tableau] Tableau Desktop Specialist 태블로 데스크탑 스페셜리스트 자격증 합격 후기(소개,시험 팁)
'Data > BI' 카테고리의 다른 글
[Tableau]태블로 UDT(소개,일정,신청,커리큘럼,난이도,무료 교육) (0) | 2023.08.06 |
---|---|
[Tableau]태블로 UDT-1회차 시간의 지배자(유형,날짜 함수,yoy ytd mtd) (0) | 2023.05.20 |
[Tableau] 태블로-두 기간을 동일한 축에 동적으로 시계열 시각화하는 법 (0) | 2023.03.20 |
[Tableau] Tableau Prep 시작- 설치, 세팅, 데이터 연결, 정리 (0) | 2023.01.11 |
[Tableau] 태블로 신병 훈련소 2주 차 회고 - 더 나은 시각화 (0) | 2023.01.07 |