Tableau_5

YJ·2023년 5월 11일
0

▷ 오늘 학습 계획: Tableau 강의(8~9)

📖 Chapter 03

3) 태블로 함수

숫자 함수, 문자열 함수, 날짜 함수, 유형 변화, 논리 함수, 집계 함수, 통과 함수(RAQSQL), 사용자 함수, 테이블 계산 함수, 공간 함수, 예측 모델링 함수, 추가 함수

① 테이블 계산 함수

PRIMARY 함수: 함수 내에 다른 함수가 포함된 함수

RUNNING

RUNNING_SUM/AVG/COUNT/MAX/MIN
RUNNING_SUM = 퀵 테이블 계산의 누계

RUNNING_SUM(SUM([매출]))
RUNNING_AVG(SUM([매출]))

TOTAL

차원에 영향을 받지 않고 화면에 있는 값의 총 합계를 나타낸다.
매출 비중을 만들 때 자주 사용

TOTAL(SUM([매출]))

LOOK UP

오프셋 값에 음수가 들어가면 이전값, 양수가 들어가면 이후값이 반환됨
ZN(): NULL값이 있으면 0으로 반환

LOOKUP(SUM([매출]),-1)
ZN(SUM([매출])) - ZN(LOOKUP(SUM([매출]),-1)) 
→ 퀵 테이블 계산의 차이와 값이 동일함

WINDOW

현재 화면 내에서 해당 식을 반환, 특정 범위를 지정할 수 있음
WINDOW_SUM/AVG/COUNT/MAX/MIN
WINDOW_AVG = 퀵 테이블 계산의 이동평균

WINDOW_AVG(SUM([매출]), -3,0)

② 문자열 함수

CONTAIN / REPLACE / SPLIT / UPPER

CONTAINS(UPPER([제품명]), 'SMART PHONE')
SPLIT([제품명], ' ', 1)
REPLACE(UPPER([제품명]), 'SMART PHONE', 'SMARTPHONE')
lEFT(SPLIT([Replace], ' ', 2), 10)

③ DATE 함수

DATEPART / DATETRUNC / DATEDIFF

DATEPART: 지정한 날짜의 부분을 정수로 반환

(특정 부분의 값만 반환: '일'을 기준으로 하면 1일부터 31일까지만)

DATEPART('year', [주문 일자])
DATEPART('quarter', [주문 일자])
IF DATEPART('weekday', [주문 일자])=1 THEN 'Sun'
ELSEIF DATEPART('weekday', [주문 일자])=2 THEN 'Mon'
ELSEIF DATEPART('weekday', [주문 일자])=3 THEN 'Tue'
ELSEIF DATEPART('weekday', [주문 일자])=4 THEN 'Wed'
ELSEIF DATEPART('weekday', [주문 일자])=5 THEN 'Thu'
ELSEIF DATEPART('weekday', [주문 일자])=6 THEN 'Fri'
ELSE 'Sat'
END

DATETRUNC: 지정한 날짜를 기준으로 잘라내어 새 날짜로 반환

(날짜 형태를 유지한 채로 값을 반환)

DATETRUNC('day', [주문 일자])

DATEDIFF: 날짜간의 차이

DATEDIFF('day',[주문 일자], [배송 일자])

날짜 함수 응용(MTD, QTD, YTD)

Date 매개변수 만들고 매개변수 표시하기 → 계산된 필드 만들고 필터에 넣어서 참인 값만 표시하기

DATEDIFF('month', [주문 일자], [Date]) = 0
AND
DATEDIFF('day', [주문 일자], [Date]) >= 0
DATEDIFF('quarter', [주문 일자], [Date]) = 0
AND
DATEDIFF('day', [주문 일자], [Date]) >= 0
DATEDIFF('year', [주문 일자], [Date]) = 0
AND
DATEDIFF('day', [주문 일자], [Date]) >= 0

4) LOD 표현식

Level Of Detail: 세부 수준 식

{Include[차원1], [차원2] : SUM([측정값]}

INCLUDE : 화면에 포함되지 않은 특정 차원을 포함하여 결과를 계산

{ INCLUDE [제품 중분류] : SUM([매출]) }

EXCLUDE: 화면에 포함된 특정 차원을 제외하여 결과를 계산

{ EXCLUDE [제품 중분류] : SUM([매출]) }

  • INCLUDE, EXCLUDE: 화면에 어떤 차원값을 넣느냐에 따라 다르게 사용된다.

FIXED: 화면에 상관 없이 특정 차원을 고정하여 결과를 계산

  • 1st 구매일 → 유입 시점 별 고객 매출 기여도에 활용 가능
{ FIXED [고객명] : MIN([주문 일자]) }
  • 1st 구매일 제외
IIF([주문 일자]>[1st 구매일], [주문 일자], NULL)
  • 2nd 구매일
{ FIXED [고객명] : MIN([1st 구매일 제외]) }
  • 첫 구매일과 두번째 구매일의 기간 차이
DATEDIFF('day', [1st 구매일], [2nd 구매일]

INCLUDE vs FIXED

{ FIXED [시도], [시군구] : SUM([매출]) }
= { INCLUDE [시군구] : SUM([매출]) }
  • INCLUDE는 화면에 적용된 필드를 고려하여 값을 반환한다.

5) Order of Operations

태블로 작동 순서 (출처: tableau community)

테이블 계산

테이블 계산이 차원 필터보다 늦게 실행된다.
테이블 계산 필터는 테이블 계산보다 늦게 실행된다.

  • 날짜 차원 필터를 대신할 수 있는 테이블 계산 필터: LAST()

FIXED, CONTEXT 필터

▷ 다음주 학습 계획: 머신러닝 강의

[이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.]

0개의 댓글