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

Power BI累计工时运行总计计算异常问题求助

DAX运行总计度量值错误修复方案

问题概述

现有Spedizioni发货表,已创建以下度量值:

  • Cumulated Hours Life 1st Year:计算当年发货量
  • ComulativeSpedizioni_1_year_before:计算前一年的累计发货量
  • Cumulated hours:上述两个度量值求和

创建的运行总计度量值Cumulated Hours Running Total未正确计算累计值,仅返回年度数据(例如2020年预期为46541,实际显示24120)。

问题根源

  1. 运行总计度量值迭代的是事实表Spedizioni[Data fattura],而非专用日期表Calendar Lookup。事实表的日期可能存在不连续、空白的情况,导致累加逻辑遗漏部分日期。
  2. 时间上下文依赖不一致:其他度量值均基于Calendar Lookup表,而运行总计使用事实表日期,导致筛选逻辑冲突。

修复方案

1. 修正运行总计度量值

替换原Cumulated Hours Running Total代码为:

Cumulated Hours Running Total = 
VAR CurrentDate = MAX('Calendar Lookup'[Date])
RETURN
SUMX(
    FILTER(
        ALL('Calendar Lookup'[Date]),
        'Calendar Lookup'[Date] <= CurrentDate
    ),
    [Cumulated Hours]
)

关键调整说明:

  • 使用Calendar Lookup的日期列进行迭代,确保时间维度连续完整,避免事实表日期缺失导致的累加错误。
  • 提取当前上下文最大日期为变量,明确筛选逻辑,保证在不同时间粒度(日/月/年)下都能正确计算累计值。

2. 验证基础度量值逻辑(可选)

若Cumulated Hours Life 1st Year的目标是当前日期所在年份的累计发货量,原度量值仅做SUM可能未限定时间范围,可调整为:

Cumulated Hours Life 1st Year = 
CALCULATE(
    SUM(Spedizioni[Qtà fatturata]),
    DATESYTD('Calendar Lookup'[Date])
)

该调整确保在任意日期上下文下,都能计算到当前日期为止的当年累计发货量,与ComulativeSpedizioni_1_year_before的逻辑对齐。

验证方法

将修复后的度量值拖入报表,按日期(日/月/年)分组查看:

  • 日粒度下:每日的运行总计应为之前所有日期的Cumulated hours之和
  • 年粒度下:当年的运行总计应为全年所有日期的Cumulated hours之和,与预期值46541匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 23:33:21