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

Power BI中使用FILTER过滤无直接关联表出现异常行为的问询

为什么过滤无关联事实表会影响另一表的计算结果?

这其实是DAX筛选上下文通过共享维度表传递导致的——虽然First和Second没有直接关系,但它们都连接到dimColour和dimTime这两个维度表,筛选条件会通过这些维度“搭桥”,间接影响另一个事实表的计算范围。

咱们一步步拆解你写的Test_Alone度量值:

  • 首先,FILTER( 'Second'; 'Second'[Colour]="Red" )会筛选出Second表中Colour为Red的行,这个操作会在共享维度dimColour上生成一个筛选规则:只保留Color=Red的维度行。
  • 因为dimColour和First表是1:*的关联关系,这个维度上的筛选会自动传递到First表——也就是说,First表现在只会显示Colour匹配dimColour中被筛选出的Red行。
  • 你提到First表中Alone="Y"的两行数值是1和6,其中肯定有一行的Colour不是Red,所以被这个间接筛选排除了,最后只剩下值为6的那一行,总和自然就是6,而非你预期的7。

当你移除CALCULATE里的FILTER参数后,dimColour没有被施加任何筛选,First表中所有Alone="Y"的行都被纳入计算,结果就回到了7。

另外那三个度量值出现相同行为,本质原因也是一样的:它们都用到了对某一个事实表的筛选,而这个筛选通过共享的维度表传递到了另一个事实表,间接缩小了计算范围。

你可以做个小验证:在报表里加一个dimColour的切片器,选择Red,然后看移除FILTER后的Test_Alone结果,是不是也变成了6?这就能直观确认是维度传递的筛选在起作用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:58:47