▷ 오늘 학습 계획: Tableau 강의(8~9)
숫자 함수, 문자열 함수, 날짜 함수, 유형 변화, 논리 함수, 집계 함수, 통과 함수(RAQSQL), 사용자 함수, 테이블 계산 함수, 공간 함수, 예측 모델링 함수, 추가 함수
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)
CONTAINS(UPPER([제품명]), 'SMART PHONE') SPLIT([제품명], ' ', 1) REPLACE(UPPER([제품명]), 'SMART PHONE', 'SMARTPHONE') lEFT(SPLIT([Replace], ' ', 2), 10)
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
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는 화면에 적용된 필드를 고려하여 값을 반환한다.
태블로 작동 순서 (출처: tableau community)
테이블 계산
테이블 계산이 차원 필터보다 늦게 실행된다.
테이블 계산 필터는 테이블 계산보다 늦게 실행된다.
- 날짜 차원 필터를 대신할 수 있는 테이블 계산 필터: LAST()
FIXED, CONTEXT 필터
▷ 다음주 학습 계획: 머신러닝 강의