共用方式為


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)