PowerBI基于选定月末的动态12个月滚动累计总额实现问题
PowerBI 动态12个月滚动累计解决方案
问题分析
你的原有度量值核心问题在于REMOVEFILTERS('Dim_Date')——它会完全清除日期表的筛选上下文,导致所有X轴月份都基于全局最大日期计算滚动累计,而非当前X轴月份自身;同时切片器选单个月份时,X轴无法自动扩展显示过去12个月的日期范围。
解决方案步骤
1. 创建X轴范围控制度量值
用于筛选出需要在X轴显示的目标月份(所选月份往前推12个月的范围):
ShowInXAxis = VAR SelectedEndMonth = SELECTEDVALUE('Dim_Date'[End of Month]) VAR StartOfRange = EDATE(SelectedEndMonth, -11) -- 往前推11个月,包含当前月共12个月份 RETURN IF( MAX('Dim_Date'[End of Month]) >= StartOfRange && MAX('Dim_Date'[End of Month]) <= SelectedEndMonth, 1, 0 )
2. 修正滚动累计度量值
保留当前X轴月份的上下文,计算该月份往前12个月的累计值:
Cumul12months = VAR CurrentMonth = MAX('Dim_Date'[End of Month]) RETURN CALCULATE( [_NumberOfDepartures], DATESINPERIOD( 'Dim_Date'[End of Month], CurrentMonth, -- 以当前X轴月份为结束点,往前回溯12个月 -12, MONTH ), ALLSELECTED('Dim_Date') -- 保留切片器的选择,同时允许X轴月份的上下文生效 )
3. 配置图表
- X轴:选择
Dim_Date[End of Month] - Y轴:选择
Cumul12months - 视觉级筛选:添加
ShowInXAxis,设置筛选条件为等于1
效果验证
当你在切片器中选择单个月份(如2024年6月):
- X轴自动显示2023年7月至2024年6月的所有月末日期
- 每个X轴月份对应的Y值,为该月份往前12个月的累计离职数(比如2024年5月的Y值是2023年6月至2024年5月的总和)
内容的提问来源于stack exchange,提问作者Myriam22
相关产品推荐
相关产品推荐

