본문 바로가기

0. SW 사용법/DAX

DAX: Filter+Calculate Engine 장착 - CALCULATE()

DAX 함수 -  Filter Engine + Calculate Engine


CALCULATE()함수는 DAX의 대표선수이자, DAX의 특징을 한껏 담아낸 DAX에만 있는 함수입니다. 

그림의 측정값 '제품번호1&판매채널번호1'은 이름에서 짐작할수 있듯 제품번호와 판매채널번호가 각각 '1'에 해당하는 자료들로 [총판매금액]을 구하려는 식입니다

필터 기능을 내장한 CALCULATE를 사용하면 필터와 계산을 한 번에 할 수 있습니다.  CALCULATE함수의 첫 번째 인수는 계산에 사용할 측정값이나 측정식입니다. 두 번째 인수부터는 필터할 수 있는 구문으로 그림처럼 바로 비교 연산자를 이용하여 원하는 기준을 입력할 수 있습니다.(또는 필터 함수를 사용하기도 합니다)


참고.

여기 측정값 [총판매금액]은 정의되어 있는 측정식 '[총판매금액]:='사실판매수량'[판매금액]'을 사용한 것입니다.



CALCULATE함수의 결과는 하나의 값 '3,378,000'으로 [계산 영역]에 표시됩니다. 

그리고 피벗 테이블에 '값' 영역에서 사용되며, 피벗 좌표에 따라 각각의 측정 셀 값을 만들어 냅니다.



비슷한 이름의 CALCULATETABLE()함수는 값이 아닌 하나의 테이블을 결과로 만들어 냅니다. 


CALCULATETABLE(<expression>,<filter1>,<filter2>,…)  

: CALCULATETABLE 함수는 데이터가 필터링되는 컨텍스트를 변경하고 지정한 새 컨텍스트에서 식을 계산합니다. 

: 필터 인수에 사용 된 각 열에 대해서는 해당 열의 기존 필터가 제거되고 필터 인수에 사용 된 필터가 대신 적용됩니다.

: 이 함수는 RELATEDTABLE 함수와 동의어입니다.


=SUMX( CALCULATETABLE('InternetSales_USD', 'DateTime'[CalendarYear]=2006) , [SalesAmount_USD])


RELATEDTABLE()

RELATEDTABLE(<tableName>)

: RELATEDTETABLE 함수는 데이터가 필터링되는 컨텍스트를 변경하고 지정한 새 컨텍스트에서 식을 계산합니다.

: 이 함수는 논리 표현식이 없는 CALCULATETABLE 함수의 바로 가기입니다.


= SUMX( RELATEDTABLE('InternetSales_USD') , [SalesAmount_USD])


'0. SW 사용법 > DAX' 카테고리의 다른 글

DAX: Time Intelligence 함수  (0) 2018.03.13
DAX's 구조 및 기본 연산자  (0) 2018.02.22
DAX는...?  (0) 2018.02.22