CALCULATE
語法結構:
CALCULATE(<expression>,<filter1>,<filter2>…)
第一個參數(shù)為表達式臣淤,可以執(zhí)行各種聚合函數(shù)婉刀;
第二個參數(shù)為篩選器,可為空,通過篩選器得出需要進行計算的對象,再通過表達式計算出結果栖茉。
舉個例子:
實操舉例:數(shù)據(jù)集:商品銷售明細表.xlsx
關注公眾號獲取數(shù)據(jù):耶濃薄荷
其中‘省市.省份’以及‘銷售額’為表字段,‘河北省銷售額’孵延、‘銷量’吕漂、‘河北省銷量’為度量值。
河北省銷售額?=
CALCULATE(SUM('商品銷售明細表'[銷售額]),'商品銷售明細表'[省市.省份]="河北省")
銷量?= COUNTROWS('商品銷售明細表')
河北省銷量?= CALCULATE([銷量],'商品銷售明細表'[省市.省份]="河北省")
從這里可以明顯看出CALCULATE()的作用尘应。
CALCULATE函數(shù)是PowerBI 中常用的函數(shù)惶凝,F(xiàn)ilter函數(shù)經(jīng)常與CALCULATE()結合使用。
Filter
語法結構:
FILTER(<table>,<filter>)
第一個參數(shù)為表犬钢,
第二個參數(shù)為篩選器梨睁,
該函數(shù)結果為一張表,創(chuàng)建度量值時無法單獨使用娜饵,需結合其他函數(shù)。
舉個例子:
河北省銷售額2 =
CALCULATE(SUM('商品銷售明細表'[銷售額]),
FILTER(ALL('商品銷售明細表'[省市.省份]),
'商品銷售明細表'[省市.省份]="河北省"))
這里的度量值‘河北省銷售額2’等同于上述‘河北省銷售額’官辈。
乍一看似乎麻煩了很多箱舞,但是遍坟,當互相關聯(lián)的表多了之后,使用Filter函數(shù)就會顯得方便許多晴股。
D010101銷售額 =
CALCULATE(SUM('商品銷售明細表'[銷售額]),
FILTER(ALL('省市'),
'省市'[門店編碼]="D010101"))
D010109銷售額 =
CALCULATE(SUM('商品銷售明細表'[銷售額]),
FILTER(ALL('省市'),
'省市'[門店編碼]="D010109"))