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

Excel Power Pivot逾期案件月度累计DAX度量异常问题求助

问题分析与解决方案

原公式的核心问题在于筛选上下文处理不当,以及USERELATIONSHIP与FILTER的交互逻辑存在偏差,导致无法正确累计截止到各月底的逾期案件数。以下是具体修正方案:

修正后的DAX公式(推荐方案)

逾期积压:= 
VAR CurrentMonthEnd = MAX(Date_Table[Date])
RETURN
CALCULATE(
    COUNTROWS('RS Cases'),
    USERELATIONSHIP(Date_Table[Date], 'RS Cases'[Due By]),
    'RS Cases'[Due By] <= CurrentMonthEnd,
    OR(
        ISBLANK('RS Cases'[Entrance Date]),
        'RS Cases'[Entrance Date] > CurrentMonthEnd
    ),
    ALL(Date_Table)
)

关键调整点

  • 明确当前月底日期:用VAR定义CurrentMonthEnd,避免多次计算MAX(Date_Table[Date]),逻辑更清晰。
  • 简化筛选逻辑:直接在CALCULATE中使用列筛选替代FILTER,避免行上下文与筛选上下文的混淆,同时提升计算性能。
  • 清除日历表筛选:添加ALL(Date_Table)确保计算范围是截止到当前月底的所有符合条件案件,而非仅当月产生的逾期案件,保证月度数据逐月递增。
  • 正确激活关系:USERELATIONSHIP仅作用于CALCULATE内部,确保Due By字段与日历表的关联生效。

备选方案(迭代式计算)

如果表关系复杂导致上述方案仍有问题,可使用迭代函数直接遍历案件:

逾期积压:= 
VAR CurrentMonthEnd = MAX(Date_Table[Date])
RETURN
SUMX(
    ALL('RS Cases'),
    IF(
        'RS Cases'[Due By] <= CurrentMonthEnd
        && (ISBLANK('RS Cases'[Entrance Date]) || 'RS Cases'[Entrance Date] > CurrentMonthEnd),
        1,
        0
    )
)

该方案直接判断每个案件是否符合逾期且未处理的条件,不受表关系影响,逻辑更直观。

额外检查项

  • 确认日历表Date_Table包含所有月份的最后一天,保证MAX(Date_Table[Date])能正确获取当月截止日期。
  • 验证案件筛选逻辑:逾期案件定义为「Due By早于等于当月月底,且Entrance Date为空(未处理)或晚于当月月底(未完成)」,需与业务需求一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:52:33