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

求助:使用DAX基于多张数据表创建ID维度合计列

解决Power BI多表按ID汇总总成本的方案

针对你需要在主表中新增TotalCost列,汇总5张关联数据表中对应ID总成本的需求,直接通过分别计算每张表的对应ID成本再求和即可,具体DAX实现方案如下:

方法一:使用SUMX + RELATEDTABLE

TotalCost = 
SUMX(RELATEDTABLE('数据表1'), '数据表1'[Cost]) +
SUMX(RELATEDTABLE('数据表2'), '数据表2'[Cost]) +
SUMX(RELATEDTABLE('数据表3'), '数据表3'[Cost]) +
SUMX(RELATEDTABLE('数据表4'), '数据表4'[Cost]) +
SUMX(RELATEDTABLE('数据表5'), '数据表5'[Cost])
  • RELATEDTABLE('数据表X')会依托主表与子表的ID关联关系,返回当前主表行对应的子表所有记录(即该ID在对应数据表的成本条目)
  • SUMX迭代这些记录并对Cost字段求和,最后将5张表的求和结果累加,得到该ID的总成本

方法二:使用CALCULATE + SUM(更简洁)

TotalCost = 
CALCULATE(SUM('数据表1'[Cost])) +
CALCULATE(SUM('数据表2'[Cost])) +
CALCULATE(SUM('数据表3'[Cost])) +
CALCULATE(SUM('数据表4'[Cost])) +
CALCULATE(SUM('数据表5'[Cost]))
  • 由于主表与每张数据表已通过ID建立一对多关联,CALCULATE会自动用当前主表行的ID筛选对应数据表的记录,SUM即可得到该ID在对应表的成本总和,最后累加所有表的结果

示例验证

以你给出的场景为例:

  • 主表ID02对应的数据表1中Cost为20,数据表2中Cost为20
  • 代入公式后,TotalCost会计算为20+20=40,完全符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 14:02:43