웅진X유데미 STARTERS/TIL (Today I Learned)

[스타터스 TIL] 33일차.태블로 실전 트레이닝 (9) - LOD (INCLUDE, EXCLUDE, FIXED)

라밍쏭 2023. 3. 26. 19:06
728x90


💡 LOD 사용 시 주의할 점

  • 3~4개 데이터를 뽑아서 확인하기
  • Index 삽입해서 필터링 되었는지 확인하기 (빠진 데이터가 그대로 보임
  • LOD는 설명해야 함 → 설명이 길어진다면 LOD를 쓰지 않는 것이 좋음

1. LOD Include, Exclude 예제

1.1 Include

- 데이터의 깊이가 상대적으로 깊어야 함
- 집계를 2번 해야 할 때 (평균의 최대값, 최솟값)
- 설정한 차원의 영향을 Include한 차원을 기준으로 결과 출력
 

[예시] Include 평균 vs 일반 평균

[좌] Include 평균 / [우] 일반 평균

 
Include 평균
- 하나의 카테고리 별 평균을 만듦 (→ 카테고리 하위 차원의 값이 나옴)
- 설정한 차원([시/도])의 영향을 Include한 차원([도시])을 기준으로 결과 출력

// include_city_avg_sales
{ INCLUDE [도시]:AVG([매출])}

▶ 시/도 중 최대, 최소값을 가진 도시의 데이터가 출력됨 (도시의 매출 평균을 Include)
 
✔ 일반 평균
- 전체 데이터의 평균을 만듦 (→ 차원의 개념이 아닌 전체의 평균 값이 나옴)
▶ 시/도 중 최대, 최소값을 가진 개인의 데이터가 출력됨
 
 

1.2 Exclude

- 특성으로 설정됨
- exclude LOD에 명시된 차원을 제외한 후 집계가 이루어지고 VLOD에 맞춰 표현하기 위해 첫 번째 단계의 결과를 복제함
- 효과적으로 Exclude를 쓰기 위해서는 Exclude LOD 안에서 선언된 차원이 반드시 VLOD에 들어가 있어야 함
- LOD 식은 항상 raw level 값으로 집계를 꼭 씌어주어야 함
   → ATTR, AVG, SUM 상관없음 (모두 값이 똑같이 나옴)
- Exclude는 활용도가 낮음
   → Fixed 화면의 구성, 결과의 종류, 작동의 순서가 더 낫다!
 

[예시1] 기여도

각 도시가 각자가 속해있는 그 주의 전체 수익에 대해서 얼마만큼 기여하고 있는지 표현
 
① 기여도를 구하는 계산된 필드 만들기
- City를 포함하는 State의 Profit 합계를 나누어야 함
- Exclude : City 기준 Profit 합계를 제외
   → ATTR을 씌워주지 않으면 오류가 발생함

// exclude_profit_%
SUM([Profit]) / ATTR({ EXCLUDE [City]:SUM([Profit])})

 
② 기여도 값에 절대값 씌우기 (ABS)
Profit이 마이너스일 경우에는 기여도도 마이너스(-)가 나올 수 있으므로 절대값을 씌워준다.

[좌] 절대값 적용 전 / [우] 절대값 적용 후

 
Country/Region을 VLOD에서 제거
→ City의 바로 상위 차원인 State/Province를 기준으로 기여도값이 나옴

[좌] 모든 차원 / [우] Country/Region 차원 제거

 
State/Province를 VLOD에서 제거
→ City의 상위 차원인 State/Province가 VLOD에서 제거가 되었기 때문에
     VLOD 상에서 상위 차원인 Country/Region를 기준으로 City의 기여도값이 나옴

[좌] 모든 차원 / [우] State/Province 차원 제거

 

[예시2] 비교

특정 차원에 대한 하나의 값을 동일한 차원의 다른 값과 상대 비교 (매개변수 설정)
 
① 매개변수 만들기 (하위범주 선택)
② 매개변수 별 매출액 구하는 계산된 필드 만들기

// sale_매개변수
IF [하위 범주] = [하위범주 선택] THEN [매출]
ELSE Null
END

 
③ exclude 적용 계산된 필드 만들기

// Exclude_매개변수
{ EXCLUDE [하위 범주]:SUM([sale_매개변수])}

 
④ (전체 매출액 - exclude 적용 매개변수 매출액)한 계산된 필드 만들기

// Exclude 매출 - 매개변수
SUM([매출]) - ATTR([Exclude_매개변수])

 

 


2. LOD Fixed 이론 & 예제

2.1 Fixed 이론

- Fixed : 내가 원하는 특정 차원으로 화면을 고정시키는 것

- 화면 VLOD를 고려하지 않고 내가 선언한 그 차원으로 집계하는 것
- 유연함
- 결과의 종류를 Include, Exclude는 측정값만 결과로 나오는데 (Dimension Filter의 영향을 받음) 
   필터가 들어가면 계산 결과가 바뀌게 됨
- 그러나 Fixed는 차원도 나옴 (ex. 날짜, 최근 한 달 등)
- 작동 순서에서 Fixed는 상위에 위치하고 제어하는 개념으로는 Context Filter가 있음

 

2.2 Fixed 예제

1) VLOD 포함 Fixed

① fixed 적용 계산될 필드 만들기

// sales avg by sub-fixed
{ FIXED [하위 범주]:AVG([매출])}

 
하위 범주를 기준으로 Fixed를 했기 때문에 VLOD에 표현된 차원에 '하위 범주'가 있으면 2개의 값이 동일하게 출력된다.

 
② '하위 범주' 차원 제거 (INCLUDE와 동일)
→ 우측은 하위 범주 별 평균 매출액의 평균을 나타낸다.

 
③ '제조업체' 차원 추가 (EXCLUDE와 동일)
→ 우측은 제조업체의 평균을 나타내는 것이 아닌, 각 하위범주의 평균을 나타낸다.

 

2) VLOD 미포함 Fixed

① fixed 적용 계산될 필드 만들기

// sales avg by sub-fixed
{ FIXED [하위 범주]:AVG([매출])}

 
② '시/도'와 '도시'를 VLOD에 추가
'하위 범주'를 기준으로 Fixed를 했지만 VLOD에서는 '하위범주' 대신에 '시/도'와 '도시'로 설정을 하였다.
이렇게 될 경우, 각 도시 별로 하위범주(보관함, 사무용품, 액세서리 등)로 평균을 낸 후에 그 평균을 나타낸다.

 

3) Fixed 비포함

① fixed 적용 계산될 필드 만들기
→ 주문 ID를 기준으로 매출이 0이 넘는 주문 ID

// profitable
{ FIXED [주문 Id]:SUM([수익])>0}

 
② 테이블 계산 설정하기 (구성 비율 / 테이블(옆으로))

 
③ 위에서 만든 T/F 필드를 색상에 드래그
→ 주문 ID를 기준으로 매출이 0이 넘는 주문 ID의 매출의 합계 %


3. 과제

📌 데이터: 샘플 슈퍼 스토어

 

✔ 주제 : 상품 세일즈 팀에서 다양한 뷰포인트로 어느 sub-category or category or product가 잘 하고 있는지 어디서 어떻게 집중해야 하는지 파악


✔ 상세 설명 : 대시보드 2개 만들고 대시보드 1개에 대해서만 파워포인트 슬라이드 한 장으로 대시보드가 무엇을 나타내려 했는지 목표 및 설명
- 대시보드 1 :  Include. or Exclude + 매개변수 넣어서 조정이 가능한 형태로 만들기
- 대시보드 2 : Fixed를 이용해서 자유롭게 구성


판매하는 상품들의 매출, 이익 등을 트래킹하는 것이 가장 기본이 되는 부분이기에, 이를 먼저 각자 팀원들끼리 해보기로 했다.

데이터를 살펴보고 매출, 이익에 영향을 미치는 변수들을 파악해보았다.
→ 다양하게 있었지만 특히 할인율, 날짜, 지역, 환불 등이 있었다.

이것들을 위주로 어떻게 상관관계가 있는 지 등을 파악해보고 대략적인 가설을 세워보았다.

이 가설에 대한 데이터 검증은 내일 하기로 했다!



💡

지난 주 에어비앤비 과제에 이어 두번째 팀과제이다.
이번에는 단순하게 보다는 좀 더 심도있게 접근하고 싶어서 많은 고민을 하였다.
그러다 보니 많은 생각에 허우적거리기도 했고, 팀원들과의 토론이 길어져 시간이 많이 걸렸다.

다른 조들은 이미 퇴근하고 한참 후에야 우리 조에서 데이터로부터의 가설이 나왔다.

내일은 너무 깊게 생각하지말고 할 수 있을 만큼만 해서 시간 내에 잘 끝내보자 :)💪💪

728x90