Power BI移除Source字段后,隐藏Actuals的切片器结果异常求助
解决方案
方法一:优化Show_Hide度量值逻辑
直接基于场景字段判断,摆脱对Source字段的依赖:
- 假设你的事实表中有标识场景的字段(比如
Scenario),其中实际支出固定为"Actuals",两个预算场景分别是"Original Budget"和"BT Savings Budget" - 重写
Show_Hide度量值:
Show_Hide = VAR SelectedBudget = SELECTEDVALUE('断开表'[Budget Scenario]) RETURN // 实际支出始终显示 IF(MAX('事实表'[Scenario]) = "Actuals", 1, // 匹配选中的预算场景才显示 IF(MAX('事实表'[Scenario]) = SelectedBudget, 1, 0))
- 在视觉对象的筛选器面板中,设置
Show_Hide等于1,这样不管有没有Source字段,都能精准控制显示:实际支出一直保留,同时只显示切片器选中的预算场景。
方法二:用计算组统一管理场景切换
计算组是更灵活的方案,不需要额外的切片器依赖:
- 创建计算组(点击「建模」选项卡 → 「新建计算组」),添加三个计算项:
- 实际支出:
然后设置该计算项的筛选器为SELECTEDMEASURE()'事实表'[Scenario] = "Actuals" - Original Budget:
CALCULATE(SELECTEDMEASURE(), '事实表'[Scenario] = "Original Budget") - BT Savings Budget:
CALCULATE(SELECTEDMEASURE(), '事实表'[Scenario] = "BT Savings Budget")
- 实际支出:
- 将计算组字段拖到视觉对象的行/列区域,或者添加切片器选择计算项,就能直接切换预算场景,同时实际支出可以固定显示或作为独立选项,全程不需要Source字段。
方法三:用DAX筛选器替代断开表逻辑
放弃断开表,直接通过高级筛选实现需求:
- 创建一个仅包含预算场景的DAX表,作为切片器数据源:
预算场景切片器 = DATATABLE( "Budget Scenario", STRING, { {"Original Budget"}, {"BT Savings Budget"} } )
- 在视觉对象的筛选器中选择「高级筛选」,输入DAX表达式:
OR( '事实表'[Scenario] = "Actuals", '事实表'[Scenario] = SELECTEDVALUE('预算场景切片器'[Budget Scenario]) )
- 把新建的切片器表拖到页面做场景切换,视觉对象会自动包含实际支出和选中的预算场景,完全摆脱对Source字段的依赖。
内容的提问来源于stack exchange,提问作者Meredith Keeney
相关产品推荐
相关产品推荐

