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

计算去重计数累计值(Running Total)时结果不准确,求原因

问题原因与解决方案

你的DAX代码和预期值的差异,核心是两种累计逻辑的区别:

1. 差异根源

你的DAX逻辑是计算截止到当前日期的所有唯一订单号总数,而手动计算的“Expected Running Total”是每日去重订单数的简单累加和。两者的差距来自于跨日期重复的订单号:这些订单会在多个日期的DistinctCount中被统计,但在DAX的去重累计逻辑里只会被计数一次,而手动累加时会被重复计算。

比如2/5的预期值112=36+76,但DAX结果是109,说明有3个订单号同时出现在1/5和2/5,DAX的去重累计会把这3个订单只算一次,比手动累加少3,正好对应数值差。

2. 修正方案

根据你的实际需求选择对应方案:

方案A:保留“截止到当前日期的唯一订单总数”逻辑(修正代码笔误)

你的原有逻辑是正确的去重累计,只是代码里的表名写错了(ALLSELECTED(Date)应该是ALLSELECTED('Dates')),修正后的代码:

Running Total = 
VAR MaxDate = MAX('Dates'[Date])
VAR Result = 
    CALCULATE(
        DISTINCTCOUNT('Figures'[Order Number]),
        FILTER( ALLSELECTED('Dates'), 'Dates'[Date] <= MaxDate)
    )
RETURN
    Result

方案B:实现“每日去重订单数的累加和”(匹配你的预期值)

先创建每日去重订单的度量值:

Daily Distinct Orders = DISTINCTCOUNT('Figures'[Order Number])

再基于这个度量值做累计求和:

Running Total of Daily Distinct = 
SUMX(
    FILTER(ALLSELECTED('Dates'), 'Dates'[Date] <= MAX('Dates'[Date])),
    [Daily Distinct Orders]
)

这个度量值会将每日的去重订单数直接累加,和你手动计算的预期值一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 03:45:42