Power BI:如何在度量值中添加ALL(UPS)以移除所有筛选器
让Power BI卡片值不受筛选器/切片器影响的度量值修改方法
要让卡片值在使用筛选器或切片器时保持不变,核心是用ALL(UPS)清除对UPS表的所有筛选上下文,让度量值始终计算全表数据。以下是修改后的度量值:
Measure = VAR Total_Sum = CALCULATE(SUM('UPS'[1st_UPS]), ALL(UPS)) + CALCULATE(SUM('UPS'[2nd_UPS]), ALL(UPS)) VAR Non_Zero_Count = SUMX(ALL(UPS), IF('UPS'[1st_UPS] = 0, 0, 1) + IF('UPS'[2nd_UPS] = 0, 0, 1)) RETURN IF(Non_Zero_Count = 0, 0, Total_Sum / Non_Zero_Count)
修改说明:
- 对于
Total_Sum,用CALCULATE包裹原SUM函数,并传入ALL(UPS)作为筛选器参数,确保求和范围是整个UPS表,不受外部筛选影响。 - 对于
Non_Zero_Count,直接将SUMX的迭代对象从原表'UPS'改为ALL(UPS),这样会遍历全表计算非零项的数量,忽略任何筛选器的限制。
如果后续需要保留部分筛选(比如只排除某几列的筛选),可以把ALL(UPS)替换为ALL(UPS[列名1], UPS[列名2]),但当前需求下用ALL(UPS)就能实现完全不受筛选影响的效果。
内容的提问来源于stack exchange,提问作者cghanta
相关产品推荐
相关产品推荐

