TOP

DAX-2단원. CALCULATE 함수

설명

DAX 학습을 시작하는 첫 번째 함수는 CALCULATE입니다. 이 함수는 Excel에 정확히 대응되는 함수는 없지만 함수와 유사합니다. SUMIFS 그리고 COUNTIFS . 즉, 이 함수는 다른 계산 함수에 필터를 적용하므로 필요한 데이터만 선택하여 계산에 포함시킬 수 있습니다.

함수 CALCULATE()의 구문

=계산(< 통계적 표현 >, < 필터1 >, < 필터2 >, ...)

< 통계적 표현 >

통계적 표현 계산 결과(테이블이 아닌 값)를 반환해야 합니다. 이러한 이유로 이 설정에서는 이러한 유형의 통계 함수가 자주 사용됩니다. SUM , 최소 , 최대 , 국가 등.

  1. SUM([ 열 이름 ])
  2. SUM([ 이름열1 ]) / MAX([ 이름열2 ])
  3. 다른 계산 필드(측정값)의 이름

< 필터1 >, < 필터2 >, ...

필터 작업할 데이터의 범위를 정의합니다. 값 선택 조건은 여기에서 지정됩니다.

  1. [ 열 이름 ] = 자동
  2. [ 열 이름 ] >= 6
  3. ALL( '테이블 이름' ) 또는 ALL( '테이블 이름' [ 열 이름 ] )
  4. FILTER ( '테이블 이름' , '테이블 이름' [ 열 이름 ] = " 녹색 ")

다음과 같은 테이블이 있다고 가정합니다. Demo 그리고 로드됨 PowerPivot .

이를 기반으로 요약 테이블을 생성하고 각 제품의 레코드 수를 계산해 보겠습니다.

이제 새 계산 필드를 만들어 보겠습니다. (Measure) 피벗 테이블의 Count_All_Product는 모든 행에 대한 총 레코드 수를 표시합니다.

계산 필드 Count_All_Product에서 숫자를 어떻게 얻었습니까? 16 ? 설명은 다음 함수를 사용하여 피벗 테이블에 적용된 모든 필터(피벗 테이블의 각 행은 별도의 필터임)를 이 필드에 대해 제거했다는 것입니다. ALL() . 즉, 다시 말하면 함수이다. ALL (Demo) 테이블에 적용된 계산된 필드 Count_All_Product에 대한 모든 필터를 제거하는 명령을 제공합니다. Demo .

다른 필드를 추가해 보겠습니다. (City) 도시별로 각 제품의 판매량을 보려면 다음 행을 따르세요.

필드에 숫자가 있는 것을 볼 수 있습니다. Count of Rows 변경되지만 계산 필드 Count_All_Product에는 변경되지 않습니다. 맞습니다. 왜냐하면 마지막 항목에서는 수식에서 모든 필터를 제거했기 때문입니다. 이제 수식을 약간 변경하고 결과를 살펴보겠습니다.

=CALCULATE(COUNTROWS(Demo);ALL(Demo[Product]))

우리는 인수를 ALL() 함수로 대체하여 변경했습니다. Demo ~에 Demo[Product] . 이제 전체 테이블에서 필터가 제거되지 않습니다. Demo , 그러나 해당 열에 대해서만 Demo[Product] .

그래서 우리는 현장에 무엇이 있는지 봅니다. Count of Rows 필터가 효과가 있습니다 Product 그리고 City , 계산된 필드 Count_All_Product의 필터만 City .