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

[스타터스 TIL] 36일차.태블로 실전 트레이닝 (12) - LOD Fixed 날짜, 게이지 차트, 와플차트, Jitter bar 차트

라밍쏭 2023. 3. 28. 18:16
728x90


1. LOD Fixed 날짜

- 날짜 함수 : 자동화 (매번 데이터가 변해도 식을 변경하지 않아도 됨)
- 전년동월 등 구할 때 사용함 (자동화 할 때 사용)
   그러나 굳이 Fixed를 사용하지 않아도 됨

 

// recent year
{MAX(YEAR([Order Date]))}
// last year
[recent year] - 1

 


2. 심화 그래프

2.1 게이지 차트

- 어디서든 쓰일 수 있기 때문에 아래의 식을 복붙해도 모든 데이터셋에서 사용할 수 있음
- 식을 잘 만들어 놓으면 데이터가 자동화되어도 깨지지 않음

 

1) 비율 지표 만들기

`WINDOW_SUM` 을 이용해 누적 합계에서 sales의 비율을 구하는 식

// sales(%)
SUM([Sales])/WINDOW_SUM(SUM([Sales]))

 

2) 각 슬라이스 별 계산된 필드 만들기

// slice_1
IF [sales(%)] > 0.5 THEN [sales(%)] -0.5
ELSE 0
END

// slice_2
IF [sales(%)] > 0.5 THEN 1 - [sales(%)]
ELSE 0.5
END

// slice_3
1

// slice_4
IF [sales(%)] < 0.5 THEN [sales(%)]
ELSE 0.5
END

// slice_5
IF [sales(%)] < 0.5 THEN 0.5 - [sales(%)]
ELSE 0
END

 

3) 이중축 이용해서 도넛차트 만들기

열 : 0, 0 추가 & 이중축 설정 & Category 추가

 

4) 날짜 필터 설정

① 날짜 매개변수 설정 (date) + 매개변수 표시
② 날짜 필터 만들기 (계산된 필드)

// 날짜 필터
DATETRUNC('year', [Order Date]) = DATETRUNC('year',[date])
AND 
DATETRUNC('month', [Order Date]) = DATETRUNC('month', [date])

③ ‘날짜 필터’를 필터에 추가 + ‘참’ 선택

 

5) 게이지 차트 그리기

① 측정값이름을 색상에 드래그앤드랍
② 측정값을 각도에 드래그앤드랍
③ 측정값 이름을 필터에 넣고 ‘slice_1 ~ slice_5’만 선택
④ 색상
- slice 1, 4 : 밝은 색
- slice 2, 5 : 회색
- slice 3 : 흰색

 

6) 비율 별 색상 설정하기

① 비율 범위를 설정하는 계산된 필드 생성

// sales_범위

IF [sales(%)] < 0.2 THEN '20% 미만'
ELSEIF [sales(%)] >= 0.2 AND [sales(%)] < 0.4 THEN '20% ~ 40% 미만'
ELSEIF [sales(%)] >= 0.4 THEN '40% 이상'
END

② sale_범위 필드를 세부정보로 드래그앤드랍 + 색상으로 아이콘 변경
- slice_1, slice_4는 각 비율 별로 색상 맞춰주기
- slice_2, slice_5는 회색
- slice_3은 흰색

 

✅ 그래프 (전체 화면)

 

✅ 게이지 차트

 

✅ 각 slice 별 의미 파악하기

0을 기준으로 - (마이너스), + (플러스)


- (마이너스)
- slice_4 : 비율을 나타냄
- slice_5 : 0.5에서 비율을 뺀 것을 나타냄


+ (플러스)
- slice_1 : 비율에서 0.5 뺀 것을 나타냄 (slice_4와 더해서 비율 표현)
- slice_2 : 1에서 비율을 뺀 것을 나타냄

 

2.2 와플 차트

- 불연속형 필드는 구간 차원의 집합이라고 할 수 있음
- 연속형 측정 값에서 구간 차원을 추가할 수 있음
- 히스토그램의 최적의 빈 수
    → Number of Bins = 3 + log2(n) * log(n) (n : 테이블의 불연속형 행 수)
- 거의 안 쓴다!
- 그 대신 구간 차원을 집중해서 보기!

 

1) index 필드 생성

// index
INDEX()-1

 

2) 레이아웃을 위한 매개변수 설정

 

3) 계산된 필드 만들기 (path)

// path
IIF([Ship Mode] = 'First Class', 1, 100)

 

4) 구간 차원을 path로 만들기

→ path 우클릭 > 만들기 > 구간차원

 

5) 계산된 필드 만들기 (전체 매출액 중 매출액에 대한 퍼센트 구하기)

// TC_sales
WINDOW_SUM(SUM([Sales]))
// TC_total sales
WINDOW_SUM(SUM([Sales]))
// TC_percentage
[TC_sales] / [TC_total sales]

 

6) 레이아웃을 잡아줄 rows, columns 계산된 필드 만들기

// Rows
INT([index]/[@columns])
// Rows
INT([index]/[@columns])

 

7) 필요한 필드 드래그 하기

 

8) 행, 열 별로 구간 차원 만들기

→ Columns, Rows 우클릭 > 다음을 사용하여 계산 (path(구간차원))

 

9) 날짜 매개변수 만들기 

(굳이 만들 필요는 없음! 자유자재로 돌리기 위해 만들기)

 

10) 날짜 필터 만들기 (계산된 필드) + ‘날짜 필터’를 필터에 추가 + ‘참’ 선택

// 날짜 필터
DATETRUNC('year', [Order Date]) = DATETRUNC('year',[date])
AND 
DATETRUNC('month', [Order Date]) = DATETRUNC('month', [date])

 

11) TC_color 필드 만들기 + 색상으로 드래그앤드랍 + 다음을 사용하여 계산 (path(구간차원)) + 테이블 계산 편집

// TC_color
IF [index] / WINDOW_MAX([index]) < [TC_percentage]
THEN WINDOW_MAX(MAX([Region]))
ELSE 'grey'
END

 

 

12) 축 편집 > 반전

 

13) TC_percentage 열에 드래그 + 불연속형으로 변경 + 테이블 계산 편집 (특정차원 path까지 선택) + 다음을 사용하여 계산 (path(구간차원))

 

14) 마크 > 모양으로 변경 > 모양에서 원하는 모양 설정

 

✅ 그래프 (전체 화면)

 

✅ 게이지 차트

 

2.3 Jitter bar 차트

- 막대그래프와 똑같음 (단순 조금 더 있어 보임)
- Random()은 공식 함수 아니라서 중단 가능성이 있음
- 세부차원이면 안 됨 (고차원이어야 하며 계층이 많아야 함)
    ex) Region이면 되는데, city이면 이와 같이 변경되지 않음

 

1) 계산된 필드 만들기 (col, row, 매출 합계)

// col
random()
// fix_region_sum(sales)
{ FIXED [Region]:SUM([Sales])}
// row
random() * [fix_region_sum(sales)]

 

2) 필요한 필드 드래그앤드랍

 

3) 세부정보에 product name 드래그앤드랍
    → 개개인 별의 흩어진 효과를 줌 + random으로 지정을 해준 것

 

4) Region을 색상에 드래그
5) fix_region_sum(sales) 드래그앤드랍

    + 불연속형으로 변경 (차원으로 변경되면서 숫자를 텍스트로 내보내줌)

 

그래프 (전체 화면)

 

✅ Jitter bar 차트

 


3. 개인 과제

1. 대시보드 1개에 3개의 시트 매개변수는 해당 차트에만 적용 가능하게
    - 시트 1: 게이지 차트 카테고리 말고 다른 차원 매개변수 등록
    - 시트 2: 와플 차트 first class 대체하여서 매개변수 등록
    - 시트 3: Jitter bar chart - 매개변수 등록 sum/avg 변환
2. 자격증 Test2 1-20까지 풀고 점수 매겨서! 틀린 문제 대시보드 뒷장에 텍스트로 삽입

 

3.1 게이지 차트 (다른 차원 매개변수 설정)

1) 매개변수 설정 (region & state)

Region 별 데이터와 State 별 데이터를 확인할 수 있는 매개변수 설정

 

2) 매개변수의 알맹이인 계산된 필드 설정 (region & state - Calc)

case [region & state]
WHEN '1' THEN [Region]
WHEN '2' THEN [State/Province]
END

 

3) 계산된 필드를 열에 드래그앤드랍

 

✅ 최종 그래프

 

3.2 와플 차트 (shipmode 매개변수 설정)

1) 매개변수 설정 (@shipmode)

shipmode 별로 와플 차트를 확인할 수 있도록 설정

 

2) 계산된 필드(path) 만들기 + path로 구간차원 설정하기

 

3) 매출액을 계산할 필드 만들기

// TC_sales

WINDOW_SUM(SUM(IF [@shipmode] = [Ship Mode]
THEN [Sales] END))
// TC_total sales

WINDOW_SUM(SUM(IF [@shipmode] = [Ship Mode]
THEN [Sales] END))
// TC_percentage

[TC_sales]/[TC_total sales]

 

4) 위의 프로세스와 동일하게 진행

 

✅ 최종 그래프

 

3.3 Jitter bar 차트 (sum/avg 매개변수 설정)

1) 매개변수 만들기 (sum & avg)

매출액 합계와 평균을 각각 볼 수 있도록 매개변수 설정

 

2) 계산된 필드 만들기

// col
random()

// row
random() * [fix_region_sum(sales)]
// sum & avg - Calc

CASE [sum & avg]
WHEN '1' THEN { FIXED [Region]:SUM([Sales])}
WHEN '2' THEN { FIXED [Region]:AVG([Sales])}
END

 

3) sum & avg - Calc 필드를 열에 드래그앤드랍

 

✅ 최종 그래프

 

3.4 최종 대시보드 (그래프 3개)


💡 회고

시각적으로는 멋있지만 실무에서는 잘 쓰이지 않는 그래프들에 대해 배웠다.그래서인지 생각보다 복잡했고, 그래프를 그리는 과정을 이해하는 데에 오랜 시간이 걸렸다.

 

그리고 과제를 할 때, 수업시간에 배운대로 하면 되겠지라고 막연히 생각했는데 생각보다 매개변수를 설정하는 부분이 어려웠다. 오류가 나기도 하고 매개변수가 적용되지 않기도 하는 등 꽤나 어려움이 있었는데 다른 분들의 도움으로 해결할 수 있었다.무작정 따라하기 보다는 왜 이렇게 되는 것인지 물어보면서 이해도 함께 하였다.

 

과제 이후에 태블로 자격증 시험을 풀었는데 반타작을 했다 ㅎ그래도 팀원들과 같이 문제에 대한 풀이를 하는 시간을 가졌다. 왜 이것이 정답인지, 오답인지에 대해 찾아보고 직접 태블로에서 적용해보면서 풀이를 해서 이해가 잘 되었다.

 

내일은 오늘보다 문제를 더 많이 맞추고, 오늘과 같이 팀원들이랑 함께 이야기하는 시간을 가질 예정이다! :)

728x90