如何在Power BI中编写按列分区累加的动态DAX度量值以支持切片器筛选
解决方案
这个需求完全可以通过动态度量值实现,DAX度量值天然可以响应切片器的筛选上下文,实现按切片器起始日期重置的分组累计计算。
核心逻辑
先捕获日期切片器筛选后的最小日期,再在对应的serial分组内,计算从该起始日期到当前行日期的val字段之和即可。
具体DAX代码
将下方代码中的你的表名替换为实际数据集的表名后,直接创建度量值即可:
动态累计val = VAR 切片器起始日期 = MIN('你的表名'[date]) VAR 当前上下文日期 = MAX('你的表名'[date]) RETURN CALCULATE( SUM('你的表名'[val]), ALLEXCEPT('你的表名', '你的表名'[serial]), '你的表名'[date] >= 切片器起始日期, '你的表名'[date] <= 当前上下文日期 )
效果说明
- 按
serial字段自动分区,不同分组的累计值独立计算互不干扰 - 调整日期切片器的范围时,
切片器起始日期会同步更新,累计值自动从新的起始日期开始计算 - 支持和其他筛选器联动,完全适配报表的动态交互需求
补充说明
如果你使用了独立的日期维度表关联数据集做日期筛选,仅需要把切片器起始日期的取值改为MIN('日期维度表'[date])即可,其余逻辑无需调整。
内容的提问来源于stack exchange,提问作者NFoerster
相关产品推荐
相关产品推荐

