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

Power BI中按列计算纵向累计值(Running Total)的问题

群组付款流入矩阵累计值计算问题排查与解决

原公式失效的核心问题

  • 过度清除筛选上下文:原公式中的ALL(table)会清除所有筛选(包括行维度的群组创建日期、产品类型等),导致累计值计算时忽略当前行的群组和产品维度,结果不符合预期。
  • 日期上下文混淆:矩阵行是群组创建日期、列是付款创建日期,原公式未明确指定MAX([date])对应的是付款日期,Power BI可能错误取到群组日期,导致累计逻辑错误。

修正后的DAX公式

场景1:使用数据表自带的日期字段

累计付款金额 = 
CALCULATE(
    SUM('你的表名'[付款金额字段]),
    -- 仅清除付款日期的筛选,保留群组、产品类型等其他维度的筛选
    ALLSELECTED('你的表名'[付款创建日期]),
    '你的表名'[付款创建日期] <= MAX('你的表名'[付款创建日期])
)

场景2:使用独立日期表(推荐)

如果模型中存在关联的独立日期表,用以下公式更稳定:

累计付款金额 = 
CALCULATE(
    SUM('你的表名'[付款金额字段]),
    ALLSELECTED('日期表'[日期]),
    '日期表'[日期] <= MAX('日期表'[日期]),
    -- 强制保留当前行的群组和产品类型筛选
    VALUES('你的表名'[群组创建日期]),
    VALUES('你的表名'[产品类型])
)

关键注意事项

  • 确保模型关系正确:如果使用独立日期表,需将数据表的群组创建日期和付款创建日期分别与日期表的日期字段建立关联;
  • 矩阵字段配置:行选择格式化后的群组创建日期,列选择付款创建日期,保证上下文维度匹配;
  • 分步验证:先移除产品类型等筛选,验证累计值是否正确,再逐步添加筛选维度排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:20:29