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

Power BI Desktop中按另一字段排序后CALCULATE+REMOVEFILTERS失效问题

问题原因与解决方案

核心原因

当你给field_a设置了按同表的field_b排序后,Power BI会在筛选上下文里建立两者的强关联——field_b的筛选会自动锁定field_a的对应值。这时候单独用REMOVEFILTERS('表'[field_a])只会清除field_a的显性筛选,但field_b的隐性筛选仍在生效,导致CALCULATE计算的“总参与率”其实还是当前行的参与率,分子分母相等,结果自然是100%。

解决方案

1. 清除整个表的筛选(适合全局占比计算)

如果你的百分比是计算当前行占全局总参与率的比例,直接用整个表作为REMOVEFILTERS的参数,清除所有来自该表的筛选:

总参与率_全局 = CALCULATE([参与率度量值], REMOVEFILTERS('你的表名'))
正确百分比 = DIVIDE([当前行参与率], [总参与率_全局])

2. 同时清除两个字段的筛选(保留其他筛选条件)

如果需要保留其他筛选(比如来自其他表的切片器筛选),只清除field_a和field_b的关联筛选:

总参与率_清除关联 = CALCULATE([参与率度量值], REMOVEFILTERS('你的表名'[field_a], '你的表名'[field_b]))
正确百分比 = DIVIDE([当前行参与率], [总参与率_清除关联])

3. 取消字段排序设置(业务允许时适用)

如果field_a按field_b排序不是业务必需的,可以直接取消该设置:

  • 在字段列表选中field_a
  • 切换到「建模」选项卡
  • 点击「排序依据」,选择「无」
    之后REMOVEFILTERS('表'[field_a])就能正常清除筛选。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 18:04:51