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개)
💡 회고
시각적으로는 멋있지만 실무에서는 잘 쓰이지 않는 그래프들에 대해 배웠다.그래서인지 생각보다 복잡했고, 그래프를 그리는 과정을 이해하는 데에 오랜 시간이 걸렸다.
그리고 과제를 할 때, 수업시간에 배운대로 하면 되겠지라고 막연히 생각했는데 생각보다 매개변수를 설정하는 부분이 어려웠다. 오류가 나기도 하고 매개변수가 적용되지 않기도 하는 등 꽤나 어려움이 있었는데 다른 분들의 도움으로 해결할 수 있었다.무작정 따라하기 보다는 왜 이렇게 되는 것인지 물어보면서 이해도 함께 하였다.
과제 이후에 태블로 자격증 시험을 풀었는데 반타작을 했다 ㅎ그래도 팀원들과 같이 문제에 대한 풀이를 하는 시간을 가졌다. 왜 이것이 정답인지, 오답인지에 대해 찾아보고 직접 태블로에서 적용해보면서 풀이를 해서 이해가 잘 되었다.
내일은 오늘보다 문제를 더 많이 맞추고, 오늘과 같이 팀원들이랑 함께 이야기하는 시간을 가질 예정이다! :)
'웅진X유데미 STARTERS > TIL (Today I Learned)' 카테고리의 다른 글
[스타터스 TIL] 38일차.태블로 실전 트레이닝 (14) - 레이아웃, 테이블, 워드 클라우드 (0) | 2023.04.01 |
---|---|
[스타터스 TIL] 37일차.태블로 실전 트레이닝 (13) - 폭포 차트, 막대 게이지 차트, 벤다이어그램, 불릿차트, 캘린더 시각화 (0) | 2023.03.29 |
[스타터스 TIL] 35일차.태블로 실전 트레이닝 (11) - 팀 과제 피드백, Cheat Sheet 작성, 태블로 자격증 공부 (1) | 2023.03.27 |
[스타터스 TIL] 34일차.태블로 실전 트레이닝 (10) - 팀 프로젝트 진행 (0) | 2023.03.26 |
[스타터스 TIL] 33일차.태블로 실전 트레이닝 (9) - LOD (INCLUDE, EXCLUDE, FIXED) (0) | 2023.03.26 |