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

대시보드에 합치기

시트별 주문일자 다 빼기

날짜별로 매출 변화

profile
데이터분석 공부 시작했습니다

0개의 댓글