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

如何在PowerBI中创建DAX度量值计算单日销售差值

PowerBI矩阵:修复单日销售与前一日差值的度量值

需求说明

需在PowerBI矩阵中实现两行数据:第一行展示单日销售额,第二行展示当日销售额与前一日的差值(Delta),预期效果如下:

MondayTuesdayWednesday
100110130
01020

当前问题

已创建的Delta度量值未达到预期效果:

Delta =
CALCULATE (
    SUM ( 'Fact'[sales] ),
    FILTER ( 'Day_Index', 'Day_Index'[index] - 1 )
)

当前输出结果:

MondayTuesdayWednesday
100110130
0110130

相关数据说明

Day_Index表与Fact表为一对多关系,Day_Index表数据如下:

DayIndex
Monday1
Tuesday2
Wednesday3

修复后的度量值

Delta = 
VAR CurrentIndex = SELECTEDVALUE('Day_Index'[Index])
VAR PreviousDaySales = 
    CALCULATE(
        SUM('Fact'[sales]),
        'Day_Index'[Index] = CurrentIndex - 1
    )
RETURN
    IF(CurrentIndex = 1, 0, SUM('Fact'[sales]) - PreviousDaySales)

修复说明

原度量值的错误在于FILTER条件未关联当前上下文的索引:'Day_Index'[index] - 1会被解析为布尔值(索引大于1时结果为真),导致CALCULATE无法精准筛选出前一日的数据。

修复后的逻辑:

  • 用SELECTEDVALUE获取当前矩阵列对应的日期索引
  • 计算前一日的销售额
  • 若为第一天(索引=1)返回0,否则用当日销售额减去前一日销售额得到差值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 16:01:03