일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- SQL
- 태블로독학
- 태블로 신병훈련소
- 태블로 자격시험
- 태블로초보
- 태블로 집합
- 데이터 시각화
- 태블로
- 태블로 신병훈련소 후기
- python udemy
- 태블로 씹어먹기
- 태블로 데스크탑
- 태블로 신병 훈련소 10기
- 태블로 리뷰
- 태블로 신병 훈련소 11기
- 태블로 신병 훈련소
- 알약 모양
- coursera
- 태블로 독학
- 빅데이터분석기사
- 태블로 자격시험 독학
- 태블로 무료 강의
- tableau
- TABLEAU Certificate
- 태블로 자격증 독학
- 태블로 신병 훈련소 후기
- Python
- 태블로신병훈련소
- 범프차트
- CourseraSQL
- Today
- Total
하루에 하나씩
Tableau 리뷰 #21. 세부수준(LoD) 계산식 본문
👩💻 태블로 신병훈련소 복습하기 Day6 👩💻
LoD 계산식
1) 세부수준 계산식(#LoD)이란?
2) FIXED LoD
3) EXCLUDE LoD
4) INCLUDE LoD
5) INCLUDE LoD_더 쉬운 설명
6) 실습 :: 유입 시점별 고객 매출 기여도
7) 주문당 평균 매출 금액
어느정도 태블로에 익숙해져서
이제부터는 태블로를 영어 버전으로 연습하려고 합니다!
태블로 언어 선택은 [도움말] - [언어 선택] 에서 가능합니다.
1. 세부 수준의 의미와 세부 수준 계산식 (LoD)
: Level of Detail Expression
{[INCLUDE | EXCLUDE | FIXED] [차원] ...:집계식([측정값])}
화면상의 세부 수준(LoD)와 관계 없이 계산이 필요한 경우에 사용
- 고객 당, 주문 당, 등 '~당'와 관계 없이 계산이 필요한 경우에 사용
- 집계를 다시 집계해야 하는 상황
- 집계 결과를 기준으로 구간을 나눠야 하는 경우
- 뷰에서 보고 있는 수준 보다 아래 또는 위 수준에서 계산 결과를 만들어야 하는 경우
세부 수준이란? 태블로에 데이터를 불러오면 측정값과 차원으로 데이터가 불러져온다.
측정값이 갖는 특징 중 하나는 값을 집계하는 것,
매출 열을 가지고 오면 매출열에 포함되었던 모든 행들이 집계 되어 전체 매출이 보여진다.
그런데 여기에서 차원(ex. 대분류)을 가져오면, 전체 매출이 아닌 차원별 매출이 집계 되고, 그 하위 차원(ex.중분류, 소분류)을 추가하면 계속 매출이 드릴다운하며 집계된다.
그런데 중분류/대분류 매출과 함께 대분류 매출도 함께 보고 싶다면?
내가 보고 싶은 정보는 이미 이 화면에 추가된 뷰의 세부 수준가 달라지게 된다.
이때 사용해볼 수 있는 계산식을 세부 수준 계산식(LoD)이라고 한다.
뷰(시각화) 세부 수준의 구성 요소
보라색 박스에 포함되는 모든 차원이 세부 수준의 구성 요소라고 할 수 있다.
2. FIXED 세부수준 계산식
Case : 아래와 같이 제품 중분류로 차원이 분류 되었을때, 제품 대분류별 매출액도 보고 싶을 때
Fixed 함수로 제품 대분류 기준으로 매출의 합계를 집계 하겠다는 계산식을 만들고,
열에 추가하면 아래와 같이 대분류 기준의 매출 합계가 중분류 단위로 중복되어 나타난다.
Fixed 세부 수준 계산식은 다음과 같이 풀어 해석할 수 있다.
3. Exclude 세부수준 계산식
더해서, 제품대분류/제품중분류 세부수준이 포함된 뷰에서 제품대분류 기준으로만 측정값을 집계한다는 의미는 곧 제품중분류 차원을 고려하지 않겠다는 의미와 같다.
다음 계산식을 만들어 열에 추가해보면, Fixed 함수로 만든 계산식과 동일한 결과가 나타난다.
4. Include 함수
: 뷰 세부 수준에 포함되어 있지 않은 차원이지만, 내 계산식에서는 고려해서 집계하고 싶다는 의미
먼저 [지역]차원을 포함하는 세부 수준 계산식을 만들고 살펴보자.
주문 번호별 합계 매출액을 평균으로 변경하면, 기본 매출 평균은 값이 재집계 된 반면,
Include를 사용한 평균은 숫자가 유지되는것으로 보인다. (세부 수준을 추가했음에도 변동없음)
이전에 추가되지 않았지만, 계산식에 고려하기로 했던 [지역] 차원을 행에 가져와보니,
기본 매출 평균은 값이 변한 반면, Include [지역] 세부 수준 계산식의 값은 변동이 없다.
주문번호당 지역은 하나씩으로만 매칭된다. 이점을 미루어보아, 지역을 세부수준으로 가져와도 이미 [지역]Include 세부 계산식을 사용한 평균값에는 [지역] 차원이 고려되었기 때문에 값은 변동이 없는게 맞다.
이제 제품코드를 행(세부수준)으로 가져와보자.
(하나의 주문에 여러 제품을 구매한 경우 제품 번호는 여러가지가 있을 수 있으므로)
이제서야 두 값이 같아졌다.
전체 합계 평균은 가장 세부 수준인 제품 코드별 매출을 합하고, 가장 세부 수준인 제품 코드의 수로 나눈 값인데,
반면, INCLUDE 계산식은 이미 뷰에 추가되어 있는 차원 + 계산식을 포함한 차원만을 고려해서 계산식을 내기 때문에 전체 합계를 [지역]차원인 1로 나눈값과 동일하다.
5. Include 함수_ 더 쉬운 버전
여기까지 설명으로 알듯말듯해서, 더 쉬운 예시를 찾아 가져와봤다.
동영상 링크 : Tableau in Two Minutes - How to Use Include Level of Detail Calculations
제품중분류 차원 기준으로 INCLUDE 세부 수준 계산식을 만들어 보았다.
제품 대분류-제품 중분류 차원에서 매출의 최댓값은 가구-의자 카테고리에서 가장 높게 나오고,
그 값은 523,233,682 이다.
여기에서 제품 중분류 차원을 행에서 제외시켜보자.
그러면 세 번째 열에서는 대분류 기준의 매출을 집계해보면서,
두 번째 열에서는 중분류 기준의 매출 최대값인 523,233,682값을 유지시키고 있는 것을 볼 수 있다.
여기까지 만으로도 충분히 이해했겠지만, 다시 한번 최솟값으로 테스트 하며 INCLUDE 세부 수준 계산식에 익숙해져 보자. 이번에는 반대 순서로 가보겠다.
세 번째 열에서는 대분류별 매출값을 보여주면서, 두 번째 열에서는 어떤 카테고리일지는 알 수 없지만, 중분류 차원으로 매출을 집계했을때 가장 적은 중분류 카테고리의 매출 값은 103,058,742이라는 것을 보여주고 있다.
(우리는 중분류 차원을 고려하는 계산식을 만들어뒀기 때문에!)
그러면 이제 제품 중분류 카테고리를 행에 추가해보자
역시나 중분류 카테고리 차원으로 봤을 때 103,058,742가 매출의 최솟값이었고, 그 값은 가구류라는 [제품 중분류]에 해당하는 값인 걸 알 수 있다.
정리해보자면, ,Include 세부 수준 계산식은 본인보다 더 상위의 분류와 함께 시각화 할때 활용하기 좋은 기능으로 이해된다.
아래 도표가 이 내용을 잘 정리해주고 있다.
뷰의 세부 수준은 더 상위 수준(덜 세부적일때), Include 세부 계산식으로 더 세부적인 집계를 표시할 수 있다.
https://www.thedataschool.co.uk/hanna-nykowska/tableau-lods-include-and-exclude
6. 유입 시점별 고객 매출 기여도 : 2014년도에 처음 구매한 고객이 2017년도 매출에 얼마나 기여하고 있을까?
2014년도 처음 구매한 고객이 2017년도에도 내 스토어에서 구매하고 있는가?
그렇다면 2017년에 얼마나 매출에 기여하고 있는가?
고객별로 처음 구매한 시점을 계산하자.
주문일자의 최솟값을 구하되, 고객명 차원을 기준으로 집계하기 위해서 FIXED 함수를 쓴다.
첫 구매시점이라고 생성한 LoD 계산식을 색상에 올려자.
첫 구매 시점의 매출을 매출 값이 아닌, 구성 비율로 보기 위해 Quick Table Calculation에서 Percent of Total을 선택하고, 계산 도구(Computing Using)은 Table(down)으로 설정해준다.
답 : 2014년에 처음 구매한 고객이 2017년에 기여하는 매출은 73.62%다.
7. 주문번호 당 평균 매출 금액
주문 번호당 매출은 왼쪽 차트와 같이 집계할 수 있다.
그러나 레코드 수를 끌고와 확인해보면, 하나의 주문 번호에 6개의 레코드 수가 나타난다는 문제가 보인다. 이는 하나의 주문 번호에 여러 제품을 구매했을 경우로 추측해볼 수 있다. 이런 상황에서 합계 매출을 단순히 평균으로 변경하게 되면, 주문 번호 마다의 평균 매출이 아닌, 전체 합계를 레코드수로 나누는 값이 되게 된다.
사실 이렇게 평균 라인을 추가해 평균값을 구할 수도 있다.
그러나, 뷰에 주문 번호 세부 수준 없이 평균 값만 표시하고 싶을 때는 이렇게 LoD 계산식을 만들어주어야 한다.
INCLUDE/FIXED 두 가지 방법의 결과는 동일하다.
레코드별로 나눠진 평균값과는 다른 결과를 눈으로 확인해보자!
Appendix
1. The Data School, Tableau LODs: include and exclude by Hanna Nykowska
https://www.thedataschool.co.uk/hanna-nykowska/tableau-lods-include-and-exclude
2. Penguin Analytics. Tableau in Two Minutes - How to Use Include Level of Detail Calculations
https://www.youtube.com/watch?v=iJrFNcLeYvk
'Tableau' 카테고리의 다른 글
Tableau 리뷰 #23. LoD 계산식 소개 (0) | 2021.10.10 |
---|---|
Tableau 리뷰 #22. 테이블 계산 추가 실습 (0) | 2021.10.09 |
Tableau 리뷰 #20. 테이블 계산식 활용 (0) | 2021.10.09 |
Tableau 리뷰 #19. Day5 과제_Custom Map, 공간 테이블 계산, Buffer함수 (0) | 2021.10.06 |
Tableau 리뷰 #18. 맵핑, 맵 기능, 배경 이미지 (0) | 2021.10.06 |