解决DAX中累计值随日期切片器失效的问题
PowerBI 动态日期切片器下的财年累计值计算
问题诊断
你当前的累计度量值错误地将整个日期切片器范围内的所有金额求和,而非基于FiscalYearAdjusted行上下文做累计:
- 第一个度量用
ALLSELECTED(Dates)后,过滤条件覆盖了切片器内全部日期,导致每个财年行都返回总金额 - 第二个度量直接取切片器的最小/最大日期计算总和,同样未结合行上下文的财年筛选
正确解决方案
跨财年累计(从切片器起始日期到当前财年的所有金额)
这个度量会计算从切片器选择的最早日期开始,累计到当前财年及之前所有财年的符合条件的金额:
Running Total by Fiscal Year = VAR SelectedStart = MIN(Dates[Dates]) VAR CurrentFYEnd = MAX(Dates[Dates]) RETURN CALCULATE( [Sum of Amount], FILTER( ALL(Dates), Dates[Dates] >= SelectedStart && Dates[Dates] <= CurrentFYEnd && Dates[FiscalYearAdjusted] <= MAX(Dates[FiscalYearAdjusted]) ) )
财年内部累计(仅当前财年在切片器范围内的金额)
如果需求是每个财年单独计算自身在切片器日期内的累计(不包含之前财年),使用这个:
Running Total within Fiscal Year = VAR SelectedStart = MIN(Dates[Dates]) VAR CurrentDate = MAX(Dates[Dates]) RETURN CALCULATE( [Sum of Amount], FILTER( ALLSELECTED(Dates), Dates[FiscalYearAdjusted] = MAX(Dates[FiscalYearAdjusted]) && Dates[Dates] >= SelectedStart && Dates[Dates] <= CurrentDate ) )
配置说明
- 确保日期切片器绑定的是
Dates表的日期字段 - 矩阵的行字段选择
Dates[FiscalYearAdjusted] - 值字段替换为上述累计度量值
内容的提问来源于stack exchange,提问作者shanks_403
相关产品推荐
相关产品推荐

