Power BI |DAX函數のCALCULATE函數和Filter函數

CALCULATE

語法結構:

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

第一個參數為表達式,可以執行各種聚合函數;

第二個參數為篩選器,可為空,通過篩選器得出需要進行計算的對象,再通過表達式計算出結果。

舉個例子:

實操舉例:數據集:商品銷售明細表.xlsx

關注公眾號獲取數據:耶濃薄荷


其中‘省市.省份’以及‘銷售額’為表字段,‘河北省銷售額’、‘銷量’、‘河北省銷量’為度量值。

河北省銷售額?=

CALCULATE(SUM('商品銷售明細表'[銷售額]),'商品銷售明細表'[省市.省份]="河北省")

銷量?= COUNTROWS('商品銷售明細表')

河北省銷量?= CALCULATE([銷量],'商品銷售明細表'[省市.省份]="河北省")

從這里可以明顯看出CALCULATE()的作用。

CALCULATE函數是PowerBI 中常用的函數,Filter函數經常與CALCULATE()結合使用。

Filter

語法結構:

FILTER(<table>,<filter>)

第一個參數為表,

第二個參數為篩選器,

該函數結果為一張表,創建度量值時無法單獨使用,需結合其他函數。

舉個例子:

河北省銷售額2 =

CALCULATE(SUM('商品銷售明細表'[銷售額]),

FILTER(ALL('商品銷售明細表'[省市.省份]),

'商品銷售明細表'[省市.省份]="河北省"))

這里的度量值‘河北省銷售額2’等同于上述‘河北省銷售額’。

乍一看似乎麻煩了很多,但是,當互相關聯的表多了之后,使用Filter函數就會顯得方便許多。


D010101銷售額 =

CALCULATE(SUM('商品銷售明細表'[銷售額]),

FILTER(ALL('省市'),

'省市'[門店編碼]="D010101"))

D010109銷售額 =

CALCULATE(SUM('商品銷售明細表'[銷售額]),

FILTER(ALL('省市'),

'省市'[門店編碼]="D010109"))

知乎搜索入骨

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。