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

Power BI:如何基于另一表切片器返回目标表的Cost值?

问题原因分析及解决方法

问题原因

  • 冗余的USERELATIONSHIP调用:两表已建立主动的1对多关系,无需额外调用该函数,反而会干扰筛选上下文的正常传递。
  • 错误的筛选条件写法:table_2[Year] = V_year这类条件属于无效筛选——V_year是切片器选中值,而直接用Table_2的列等于该变量,会匹配Table_2中所有符合该条件的行,但切片器已经完成了这一步筛选,重复添加此类条件会导致筛选上下文混乱,无法正确传递到Table_1,最终导致Table_1的全部Cost被求和。
  • 忽略关系的自动筛选:切片器基于Table_2的字段,筛选上下文会自动通过已建立的1对多关系传递到Table_1,无需手动提取变量再做筛选。

解决方法

方法一:利用关系自动传递筛选(最简方案)

因为每个Joining_field在Table_1中对应唯一的Cost值,用SUM或MAX均可得到正确结果:

Correct_Cost = SUM(Table_1[Cost])

或更精准的写法(避免多值场景的歧义):

Correct_Cost = MAX(Table_1[Cost])

方法二:手动指定筛选范围(适用于特殊场景)

如果需要明确控制筛选逻辑,可通过VALUES获取Table_2筛选后的Joining_field集合,再匹配Table_1的对应行:

Correct_Cost = 
CALCULATE(
    SUM(Table_1[Cost]),
    Table_1[Joining_field] IN VALUES(Table_2[Joining_field])
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 23:26:02