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

PowerBI中如何编写度量值实现关联项目状态仅单次累加项目成本

问题原因

你原有的度量值迭代对象是Payment表的每一行,每一行Payment记录都会执行一次cost累加逻辑,因此active状态的项目有多少条Payment记录,对应的cost就会被重复计算多少次。

解决方案

推荐使用度量值实现,无需新增计算表,可适配各类筛选上下文:

项目总金额 = 
SUMX (
    VALUES ( 'Project'[ID] ), -- 迭代当前上下文中的所有不重复项目,保证每个项目仅计算一次
    VAR 项目支付总和 = CALCULATE ( SUM ( 'Payment'[Amount] ) )
    VAR 项目状态 = SELECTEDVALUE ( 'Project'[Status] )
    VAR 项目成本 = SELECTEDVALUE ( 'Project'[Cost] )
    RETURN
    项目支付总和 + IF ( 项目状态 = "Active", 项目成本, 0 )
)

逻辑说明

  1. 用VALUES('Project'[ID])获取当前筛选上下文里的所有不重复项目ID,保证每个项目只参与一次计算
  2. 对每个项目单独统计关联的Payment金额总和
  3. 仅当项目状态为Active时,累加一次该项目的cost值
  4. 最后汇总所有项目的计算结果

效果验证(用你的示例数据)

  • 项目1支付总和 = 50+100+200+300 = 650,状态为Active加50,最终项目1总金额为700
  • 项目2支付总和 = 50+100 =150,状态为Inactive不加成本,最终项目2总金额为150
  • 整体汇总结果为 700+150=850,完全符合需求

前置要求

请确认Project表和Payment表已建立一对多关系,关联键为Project[ID]和Payment[Project]。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:39:04