最近有几个星友问到同样的问题,如何在筛选的过程中保持总计不变?以下面这个数据为例,先来理解这个问题,这是每个产品的收入额:
如果不想显示“鼠标”、“键盘”这两个产品,可以通过筛选器去掉这两个产品的勾选:
这样筛选的结果是,表格中虽然不再显示这两个产品,但是总计的数据也同时不再包含这两个产品的数据了:
如何能在筛选的同时,保持总计不变呢?
只靠矩阵的设置是做不到的,不过写个度量值可以轻松实现:
收入 总计不受筛选影响 =
SWITCH(
TRUE(),
ISINSCOPE('产品表'[产品名称]), [收入],
CALCULATE([收入],ALL('产品表'))
)
只要是让某个数据不是筛选器的影响,都可以用ALL函数来忽略该表或者字段的筛选,这里的关键是对明细行和总计行的分别判断,返回不同的结果。
把这个度量值放进去,就可以实现不受筛选器影响的总计效果。
这个场景是让总计不受筛选器的影响,如果想让总计显示其他各种自定义的计算逻辑,都可以按照这个思路来解决。
更详细的介绍请参考:一文掌握Power BI矩阵总计的自定义计算