PRIMARY 함수
테이블 계산 - primary 함수
함수 내에 다른 함수가 포함된 함수
Running, Total, Lookup, Window 가 대표적
Runnig(sum, avg, count, max, min이 있음)
퀵테이블이랑 거의 비슷하다고 생각하면 됨
Running sum = 퀵테이블 누계
RUNNING_SUM(sum([매출]))
Running AVG
RUNNING_AVG(sum([매출]))
Total
sum과의 차이
즉 sum은 해당 레벨에 맞춰 합계를 다시보여주고, total은 그냥 다 총합
Lookup
계산된필드 생성
LOOKUP(sum([매출]),-1)
즉, 현재 행으로부터 그전에 -1 행 만큼 떨어진 행의 값 가져온다.
LOOKUP(sum([매출]),1)
-1은 이전 값, 1은 이후 값
전년대비 매출액 차이 계산된 필드
ZN(sum([매출]))-ZN(LOOKUP(sum([매출]),1))
퀵테이블로 계산한 것과 동일함
Window
계산된 필드 생성
WINDOW_AVG(sum([매출]),-3,0)
3행 전부터 현재행까지의 매출 합계의 평균
문자열 함수
Contains
CONTAINS(UPPER([제품명]),"SMART PHONE")
필터에 입력
Split
SPLIT([제품명],' ',1)
처음 스페이스바 공백이 나오는데까지 구분해서 불러옴
Replace
REPLACE(UPPER([제품명]),'SMART PHONE','SMARTPHONE')
공백이 있던 스마트 폰을 스마트폰으로 변경
다시 Split을 통해 상품명 분리
left(SPLIT([Replace],' ',2),10)
DATE 함수
DATEPART 함수 : 주어진 날짜의 부분을 정수로 반환
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
주문일자 연속형(연) 선택 후 드릴다운
DATEDIFF 날짜간 차이 구하는 함수
계산식 생성
DATEDIFF('day',[주문 일자],[배송 일자])
날짜함수 응용
MTD QTD YTD 각 월, 분기, 연 시작부터 현재까지의 자료 누적
MTD
매개변수 생성 및 표시
계산된 필드 만들기
DATEDIFF('month',[주문 일자],[Date]) = 0
차이가 0 이어야 같은 월 이기 때문에 0이 들어감
AND
DATEDIFF('day',[주문 일자],[Date]) >=0
QTD
매개변수 생성 및 표시
계산된 필드 만들기
DATEDIFF('quarter',[주문 일자],[Date]) = 0
AND
DATEDIFF('day',[주문 일자],[Date]) >=0
YTD
매개변수 생성 및 표시
계산된 필드 만들기
DATEDIFF('year',[주문 일자],[Date]) = 0
AND
DATEDIFF('day',[주문 일자],[Date]) >=0
대시보드에 합치기
시트별 주문일자 다 빼기
날짜별로 매출 변화