DAX 함수
DAX
DAX = Data Analytics eXpressions
측정값 or 열 이름 = Calculate(
SUM('테이블명'[변수명]),
filter(Allselected('테이블명'))
)
DAX 기본함수
- SUM : 합계
- Average : 평균
- MIN : 최소값
- MAX : 최대값
- COUNT : 개수
- CALCULATE : 내부 필터를 없애고 계산
- FILTER : 수식으로 필터
Filter Context vs Row Context
Filter Context
- 매출금액 = SUM('판매테이블'[매출금액])
➡️ Filter Context에 따라 값이 달라짐.
제품명을 기준으로 하면 제품에 따라 합계를 구함.
제품분류코드를 기준으로 하면 코드에 따라 합계를 구함.
다만 매출금액의 총 합계는 동일.
Calculate
- Calculate : Filter Context를 무시하고 계산
측정값 이름 = Calculate([다른 측정값], 필터)
예) 전체 매출액 = Calculate([매출금액], All('매출테이블'))
X함수
식을 넣을 수 있는 함수. 정확한 계산을 위해 사용.
- 예) SUMX, AverageX, MINX, MAXX, COUNTX, RANKX
AverageX
- 측정값 이름 = AverageX('테이블', 식)
월평균 매출액 = AverageX(Values('날짜'[월]), sum(매출금액))
월평균 = AVERAGEX(VALUES('날짜'[날짜].[월]), ['매출액'])
RankX
인수에 넣은 식과 테이블에 맞는 순위 출력
- 측정값 이름 = RANKX('테이블', 식, Order 방식, 동률 처리)
추정매출순위 = RANKX(ALL('D_Product'[Sub-Category]), [추정매출])
TOPN 함수
- 측정값 이름 = TOPN('N번째까지', '테이블', 식, Order 방식)
- 예) 매출1위 카테고리 = TOPN(1, '테이블'[카테고리], SUM(매출금액), DESC)
추정누적매출 = CALCULATE([추정매출], TOPN([추정매출순위]), ALLSELECTED('D_Product'[Sub-Category]), [추정매출]))