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

Power BI计算两行累计费用差值的DAX公式错误排查

Power BI 相邻行累计费用差值计算DAX公式修正方案

原公式问题核心原因

  • 匹配逻辑错误:FILTER条件中使用'Source data'[index]=EARLIER('Source data'[Numerator])匹配目标行,不符合「取上一行累计费用」的逻辑,导致取到的对比值完全错误。
  • 判断逻辑冗余:原IF判断条件逻辑不严谨,未处理首行无上行数据的空值场景,反而引入了不必要的判断分支。

修正后DAX计算列公式

Net expenditure for the month = 
// 取当前行的索引值
VAR current_index = 'Source data'[index]
// 取上一行的累计费用值
VAR prev_cumulative_expense = 
CALCULATE(
    SUM('Source data'[Cummulative expense for the month]),
    FILTER(
        'Source data',
        'Source data'[index] = current_index - 1
        -- 如果数据存在项目、部门等分组维度,需新增同组匹配条件,示例:
        -- && 'Source data'[项目ID] = EARLIER('Source data'[项目ID])
    )
)
// 首行无上行数据时返回0,否则返回当前累计与上行累计的差值即为当月净支出
RETURN
IF(ISBLANK(prev_cumulative_expense), 0, 'Source data'[Cummulative expense for the month] - prev_cumulative_expense)

注意事项

  • 需确保'Source data'[index]列是连续整数,且按时间升序排列,时间越早的行index值越小。
  • 如果数据存在多个独立的累计维度(如不同项目、不同门店分别统计累计费用),必须在FILTER中新增对应维度的匹配条件,避免跨维度取值错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:45:06