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"))