다음을 통해 공유


CALCULATE 함수

지정된 필터로 수정한 컨텍스트에서 식을 계산합니다.

구문

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

매개 변수

용어

정의

expression

계산할 식입니다.

filter1,filter2,…

(선택 사항) 필터를 정의하는 테이블 식 또는 부울 식의 쉼표로 구분된 목록입니다.

첫 번째 매개 변수로 사용되는 인수는 기본적으로 측정값과 같습니다.

인수로 사용되는 부울 식에는 다음 제한이 적용됩니다.

  • 식에서는 측정값을 참조할 수 없습니다.

  • 식에서는 중첩된 CALCULATE 함수를 사용할 수 없습니다.

  • 식에서는 집계 함수를 포함하여 테이블을 검색하거나 테이블을 반환하는 함수를 사용할 수 없습니다.

그러나 부울 식에서는 단일 값을 조회하거나 스칼라 값을 계산하는 함수를 사용할 수 있습니다.

반환 값

식의 결과인 값

주의

데이터가 필터링된 경우 CALCULATE 함수는 데이터가 필터링되는 컨텍스트를 변경하고 지정하는 새 컨텍스트에서 식을 계산합니다. 필터 인수에서 사용된 각 열에 대해 해당 열의 기존 필터가 제거되고 필터 인수에 사용된 필터가 대신 적용됩니다.

모든 대리점의 총 매출 중에서 현재 대리점의 매출이 차지하는 비율을 계산하려면 현재 셀의 매출 합계(분자)를 계산한 다음 그 합계를 모든 대리점의 매출 총액(분모)으로 나누는 측정값을 피벗 테이블에 추가합니다. 피벗 테이블에서 데이터를 어떤 방식으로 필터링 또는 그룹화하건 상관없이 분모를 동일하게 유지하려면 분모를 나타내는 수식에 ALL 함수를 사용하여 필터를 모두 지우고 올바른 합계를 구해야 합니다.

다음 표에서는 코드 섹션에 나와 있는 수식을 사용하여 All Reseller Sales Ratio라는 새 측정값을 만든 경우의 결과를 보여 줍니다.

이 수식이 어떻게 실행되는지 확인하려면 피벗 테이블의 행 레이블 영역에 CalendarYear 필드를 추가하고 열 레이블 영역에 ProductCategoryName 필드를 추가합니다. 그런 다음 피벗 테이블의 영역에 새 측정값을 추가합니다. 값을 백분율로 표시하려면 All Reseller Sales Ratio라는 새 측정값이 포함된 피벗 테이블 영역에 백분율 숫자 서식을 적용합니다.

All Reseller Sales

열 레이블

 

 

 

 

행 레이블

Accessories

Bikes

Clothing

Components

총합계

2005

0.02%

9.10%

0.04%

0.75%

9.91%

2006

0.11%

24.71%

0.60%

4.48%

29.90%

2007

0.36%

31.71%

1.07%

6.79%

39.93%

2008

0.20%

16.95%

0.48%

2.63%

20.26%

총합계

0.70%

82.47%

2.18%

14.65%

100.00%

=( SUM('ResellerSales_USD'[SalesAmount_USD]))
 /CALCULATE( SUM('ResellerSales_USD'[SalesAmount_USD])
           ,ALL('ResellerSales_USD'))

분모의 CALCULATE 식은 합계 식에 계산의 모든 행을 포함할 수 있도록 지원합니다. 이는 식의 분자 부분에 대해 존재하는 CalendarYear 및 ProductCategoryName에 대한 암시적 필터를 재정의합니다.

관련 함수

CALCULATE 함수에서는 단일 값을 반환하는 식을 첫 번째 인수로 사용해야 하지만 CALCULATETABLE 함수에서는 값 테이블을 인수로 사용합니다.

참고 항목

참조

CALCULATETABLE 함수

관련 자료

필터 함수(DAX)