고급 계산식
태블로에서 자주사용되는 고급계산식 → 날짜, 세부계산식, 테이블 계산식
세부 수준 계산식(LoD: Level of Detail Expression)
{[INCLUDE|EXCLUDE|FIXED][차원]…:집계식([측정값])}
화면상의 세부 수준(LoD)와 관계없이 계산이 필요한 경우에 사용
- 고객 당, 주문 당 등 ‘~ 당’ 계산이 필요한 경우
- 집계를 다시 집계해야 하는 사오항
- 집계 결과를 기준으로 구간을 나눠야하는 경우
- 뷰에서 보고 있는 수준보다 아래 또는 위 수준에서 계산 결과를 만들어야 하는 경우
테이블 계산식의 원리
테이블 계산식은 “Row Data”를 “집계한 값(Aggregation)”을 가지고 “테이블 계산(Table Calculation)”을 실행한다.
Row Data ⇒ Aggreation ⇒ Table Calculation
- 4일차 과제 - 국가별 가격 변동 비율 차이 를 예를 들어보면
우리는 국가별 가격 변동 비율을 구하기 위해…
- Dollar Price(Row Data)의 합계(Aggreagation)를 구하고,
- 그 합계 값을 가지고 “구성비율”이라는 테이블 계산식(Table Calculation)을 통해 변동 비율을 계산했다. → 즉! 이미 집계된 Dollar Price의 합계 값을 가지고 ‘재계산’을 했다.
그런데 여기서 잠깐 ✋
Dollar Price 는 처음 무엇을 기준으로 합계값을 구했을까?
- Dollar Price의 합계를 구한 기준은 연도(Date)와 국가명(Name)이었다.
기본적으로 태블로는 집계 값을 통해 시각화를 한다.
이때, 집계의 기준은 “시각화의 세부 수준”에 따라 결정되는데,
새로운 시트를 열고 Dollar Price를 더블 클릭해면, 전체 데이터의 총 Dollar Price의 합계가 표현되는 것을 볼 수 있다. 그 상태에서 Name을 열 선반에 올려보면 Dollar Price가 국가 수준으로 집계가 되는 것을 볼 수 있다.
이처럼 시각화에 추가되는 차원에 따라 집계의 기준이 변경되는데, 여기서 말하는 측정값의 집계 기준을 시각화의 세부수준 or 뷰의 수준이라고 한다.
그리고 이러한 시각화 세부 수준에 영향을 미치는 곳은 아래 표시된 부분이다.
아래 표시된 부분에 추가되는 ‘차원’이 시각화의 세부 수준을 결정 짓는다라고 생각하면 된다.
테이블 계산 얘기로 돌아와보면,
측정값은 시각화의 세부 수준에 따라 집계가 되고, 이 집계 값을 갖고 다시 재계산 해야하는 테이블 계산은 어떤 기준으로 계산을 해야할지 지정해줘야 하는 것이다.
이때, 재계산이 되는 범위(테이블, 패널, 셀)와 방향, 기준에 따라 값이 달라질 수 있기 때문에 범위와 방향을 신중하게 설정해줘야한다.
6일차 과제
1. 테이블 계산식 - 차이
주식 데이터를 가지고 전일 대비 종가가 상승 or 하락 했는지? 나타내는 차트를 그려보자.
이 과제는 몇 가지를 고려해야한다.
- 마크의 라인과 원과 라인을 이용해서 2019년 일 별 종가를 표현
- 열(종가) / 행(날짜 → 일(연속형))
- 필터(날짜) → 2019 필터링
- 이중축
2. “전일대비 종가 등락”을 구해보자
- “종가”를 행선반 드래그 > 퀵테이블계산 > 차이 선택
- 테이블 계산 범위(테이블), 계산기준(이전)
- 다시 데이터 쪽으로 드래그, 이름은 전일대비 종가 등락
- 자동으로 식 생성
3. “등가 여부 색상” 계산식 생성
- 등가 여부 색상 → 원 시트(색상)
[추가] 워크시트 동작 활용하기
- “코드명” > 원 마크 > “세부정보” 추가
- 메뉴 > 워크시트 > 동작
- 동작 추가 > URL로 이동
- URL 추가 동작 아래와 같이 작성
5. 해당 원 마크 클릭 “증권정보로 이동” 클릭
최종
2. 테이블 계산식 - 구성비율
테이블 계산식을 활용해서 시도별 매출 구성비율을 살펴보자
- 국가, 시도 > 상세정보 > 마크의 색상 > 매출합계
- 매출의 “구성비율” 레이블로 표시
- 매출을 레이블로 드래그
- 퀵 테이블 계산의 “구성 비율”(범위 → 테이블)
- 구성 비율 ctrl 키누르고 데이터 쪽으로 드래그, 값을 살펴보면 이렇게 되어 있는 것을 알 수 있음
3. 지역을 필터로 추가
- “수도권” 지역 필터를 선택해보면 서울특별시의 전국 대비 매출 구성 비율이 22.13%값이 그대로 보일까?
왜 비율이 46.82%로 바뀌었을까? 🤔
”구성 비율”을 구할 때 계산의 범위를 “테이블”로 지정해줬다. - 지역 필터를 적용하기 전에는 화면에 보이는 전체 시도에 대해 범위가 지정이 되었다면, 필터를 적용한 후에는 해당 지역에 포함된 ‘시도’에 대한 범위로 계산 범위가 바뀌게된다.
- 즉, 필터 적용 전에는 서울특별시 매출 합계 / 전국 매출 합계(TOTAL의 범위가 전국)로 구성비율이 구해졌다면, 필터 적용 후에는 서울특별시 매출 합계 / 인천,서울,경기도 매출 합계(TOTAL의 범위가 수도권)로 구성비율이 계산되다보니 수치가 달라지게 된 것이다.
그렇다면 필터를 적용해도 전국대비 매출 구성비율의 수치가 바뀌지 않게하려면 어떻게해야할까…
3. 세부수준 계산식(LOD) : 전국 기준 매출 구성비율 구하기
세부수준 계산식을 이용해 지역 기준 / 전국 기준 매출 구성비를 살펴보자
- FIXED 함수를 이용해 “전국 기준 매출” 계산식 만들어주기
- “전국 기준 구성비율” 계산식을 만들어 준 후, 레이블에 추가 백분율 표시(전국기준구성비율>서식>기본값>숫자>백분율)
- 이제 필터를 바꾸어도 전국 비율 값은 바뀌지 않음
4. 세부 수준 계산식 : 과거 고객 매출 기여도 및 신규 유입 고객 현황 분석
- 주문일자 연도(불연속형) > 열 / 매출 > 행
- “고객별 최초 구매일” 계산식 만들어주기
→ FIXED 함수 사용, 고객 고정, min함수를 이용해 최초 주문일자 구해주기
- 고객별 최초 구매일 → 색상
매년 새로 유입되는 고객은 줄어든다…
[추가 도전 과제] 코호트 분석
최초 구매가 일어난 후, 다음 구매가 발생하기까지의 기간이 어느 정도 되는지 시각화
- “고객별 최초 재구매일” 계산된 필드 추가
“고객별 최초 구매일”이 “주문일자”보다 작으면 “주문일자”를 가져오고, 아니면 NULL값을 가져오도록한다. 그 중 가장 작은 값을 최초 ㅈ구매일로 지정한다. - “고객별 재구매 경과기간” ← DATEDIFF 함수 이용, 분기를 기준으로 재구매가 일어나기까지의 사간차이를 구해줌.
- “고객별 최초 구매일”의 불연속형 “연도”, “분기” > 행
”고객별 재구매 경과기간” > 열 > 차원 > 불연속형
- “고객번호”를 마우스 오른쪽 버튼으로 누르고 색상에 드래그하고, 고유 카운트 집계
- 최종
2015년 2분기에 처음 구매한 고객은 제일 많이 재구매를 했다…
이번 과제는 많이 빡씻다….
'DI(Digital Innovation) > Tableau' 카테고리의 다른 글
태블로 신병훈련소 8일차 (0) | 2024.04.25 |
---|---|
태블로 신병훈련소 7일차 (0) | 2024.04.23 |
태블로 신병훈련소 5일차 (1) | 2024.04.18 |
태블로 신병훈련소 4일차 (1) | 2024.04.18 |
태블로 신병훈련소 3일차 (0) | 2024.04.18 |