Power BI DAX 实现可响应页面筛选的累计求和折线图咨询
Power BI 可响应全量筛选的累计求和折线实现方案
问题根源
- 初始
Qty Cumulative度量值失效:使用ALL(data)清除了整个数据表的所有筛选上下文,因此页面切片器、其他可视化对象的筛选操作都不会生效。 - 调整后的
Qty Cumulative 2度量值多选失效:SELECTEDVALUE()仅在对应维度仅单选1个值时返回有效值,维度全选/多选时返回空值,导致匹配条件无符合项,结果为空。
解决方案
使用以下度量值即可支持所有筛选场景,无需手动匹配维度:
Qty Cumulative 兼容版 = CALCULATE ( [Qty], -- 仅清除月份列的筛选,保留产品、区域等其他所有维度的现有筛选 ALL ( data[Month] ), data[Month] <= MAX ( data[Month] ) )
实现逻辑
该写法仅对时间维度(月份)的筛选做扩展,其余维度的筛选会完全继承当前页面的筛选上下文,天然支持其他维度的单选、多选、全选操作,可正常响应所有页面筛选。
拓展场景
如果数据包含多个年份,需要按年单独计算累计,可调整为:
Qty Cumulative 按年累计版 = CALCULATE ( [Qty], ALL ( data[Month], data[Year] ), data[Year] = MAX ( data[Year] ), data[Month] <= MAX ( data[Month] ) )
最佳实践
如果你的数据模型中搭建了独立的日期维度表,建议将度量值中的时间字段替换为日期表的对应字段,适配性更强,标准的月累计也可直接使用时间智能函数简化写法:TOTALMTD([Qty], '日期表'[日期])。
内容的提问来源于stack exchange,提问作者dougp
相关产品推荐
相关产品推荐

