You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DAX滚动总计问题:基于滑块最小日期返回正确累计值

问题分析与解决方案

问题核心在于原度量仅清除了DimDate[Date]列的筛选,但First of Month切片器的筛选仍然生效,导致滑块范围内的部分日期(如2024-03-01)因不符合First of Month的筛选条件被排除,最终累计结果仅包含4月的数据。以下是两种针对性调整方案:

方案1:完全忽略First of Month切片器,仅遵循日期滑块范围

该方案适用于希望滚动累计完全以日期滑块的选择为准,不受First of Month切片器影响的场景:

Amount Rolling = 
VAR MinSliderDate = MIN( ALLSELECTED( 'DimDate'[Date] ) )
VAR CurrentDate = MAX( 'DimDate'[Date] )
RETURN
CALCULATE (
    [Amount],
    ALL( 'DimDate' ), -- 清除DimDate表的所有筛选,包括First of Month的限制
    DATESBETWEEN( 'DimDate'[Date], MinSliderDate, CurrentDate )
)

方案2:保留First of Month的显示控制,累计滑块范围内所有日期

该方案适用于希望通过First of Month切片器控制视觉对象显示的月份,但滚动累计仍包含滑块范围内所有日期的场景:

Amount Rolling = 
VAR SliderDateRange = CALCULATETABLE( 
    VALUES( 'DimDate'[Date] ), 
    ALL( 'DimDate'[First of Month] ) -- 忽略First of Month筛选,获取滑块选中的所有日期
)
VAR MinSliderDate = MINX( SliderDateRange, 'DimDate'[Date] )
VAR CurrentMaxDate = MAX( 'DimDate'[Date] )
RETURN
CALCULATE (
    [Amount],
    FILTER (
        ALL( 'DimDate'[Date] ),
        'DimDate'[Date] >= MinSliderDate && 'DimDate'[Date] <= CurrentMaxDate
    ),
    ALL( 'DimDate'[First of Month] ) -- 确保滑块范围内的所有日期都被纳入计算
)

效果说明

两种方案均能确保当日期滑块最小日期设为2024-03-01时,滚动累计返回30+40=70的预期结果,核心是清除了First of Month列对日期范围的限制,让滑块选中的所有日期都能参与累计计算。

内容的提问来源于stack exchange,提问作者whytheq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 08:04:52