Power BI DAX:动态计数聚合,修复日期筛选下Running Total度量值失效问题
解决Power BI中Running Total度量值在日期筛选时不生效的问题
你遇到的核心问题是现有Running Total度量值忽略了日期切片器的筛选上下文,导致筛选后仍包含历史数据的累计值。以下是修正后的DAX度量值,能确保累计计算严格遵循切片器选定的日期范围:
Running Total = CALCULATE( SUM('Table'[value]), DATESBETWEEN( 'Table'[date], MINX(ALLSELECTED('Table'[date]), 'Table'[date]), MAX('Table'[date]) ) )
代码说明:
ALLSELECTED('Table'[date]):获取切片器筛选后的所有日期,而非全部日期,保留了筛选上下文MINX(...):提取筛选范围内的最小日期,确保累计从选定的起始日期开始DATESBETWEEN:限定累计计算的日期区间为「筛选起始日期」到「当前行日期」,再对该区间内的value求和
如果你的模型使用了独立的日期表,只需将'Table'[date]替换为日期表对应的日期列即可,比如:
Running Total = CALCULATE( SUM('FactTable'[value]), DATESBETWEEN( 'DateTable'[Date], MINX(ALLSELECTED('DateTable'[Date]), 'DateTable'[Date]), MAX('DateTable'[Date]) ) )
使用这个度量值后,当你设置日期筛选范围为2018-01-01至2023-01-01时,2017年的数据会被排除,Running Total会从2018年的第一个数据开始重新累计,完全匹配你预期的输出效果。
内容的提问来源于stack exchange,提问作者matt_vice89
相关产品推荐
相关产品推荐

