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

如何在Power BI中实现两行数据相减并展示下方行差值?

在Power BI中实现两行数据相减求差值的方法

方法一:用DAX创建计算列(适合固定行标识的场景)

假设你的表叫数据表格,有用来区分行的类别列(比如示例里的"Total"和"Used"),还有数值列:

  • 先提取第一行的数值:
    Total值 = CALCULATE(MAX('数据表格'[数值]), '数据表格'[类别] = "Total")
  • 再提取第二行的数值:
    Used值 = CALCULATE(MAX('数据表格'[数值]), '数据表格'[类别] = "Used")
  • 最后计算差值:
    差值 = '数据表格'[Total值] - '数据表格'[Used值]
  • 之后可以手动新增一行(通过「建模」→「输入数据」),把差值填进去,或者直接在视觉对象里展示这个差值列。

方法二:在Power Query里添加差值行

  1. 打开Power Query编辑器,选中你的数据集
  2. 复制这段代码到高级编辑器里(根据你的表名和列名调整):
let
    源 = Excel.CurrentWorkbook(){[Name="数据表格"]}[Content],
    筛选目标行 = Table.SelectRows(源, each ([类别] = "Total" or [类别] = "Used")),
    提取数值列表 = Table.Column(筛选目标行, "数值"),
    计算差值 = List.First(提取数值列表) - List.Last(提取数值列表),
    新建差值行 = Table.FromRecords({[类别="差值", 数值=计算差值]}),
    合并到原表 = Table.Combine({源, 新建差值行})
in
    合并到原表
  1. 关闭并应用,数据集里就会多出一行差值数据。

方法三:用度量值动态展示差值(无需新增行)

如果只是要在可视化里显示差值,不用改原始数据,直接建度量值:
差值度量值 = VAR TotalVal = CALCULATE(SUM('数据表格'[数值]), '数据表格'[类别] = "Total") VAR UsedVal = CALCULATE(SUM('数据表格'[数值]), '数据表格'[类别] = "Used") RETURN TotalVal - UsedVal
之后把这个度量值拖到卡片图、表格里就能直接看到结果。

如果你的行是按顺序排列的(比如上一行减下一行),可以用OFFSET函数定位相邻行,示例DAX:
行差值 = VAR 当前值 = '数据表格'[数值] VAR 上一行值 = CALCULATE(MAX('数据表格'[数值]), OFFSET(-1, ALL('数据表格'[排序列]), ORDERBY('数据表格'[排序列], ASC))) RETURN 当前值 - 上一行值
这里的排序列是用来确定行顺序的列(比如日期、序号)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:55:16