Power BI:跨页面文本框如何引用原页面切片器的度量值?
解决Power BI跨页面引用原页面切片器选择的问题
方法1:同步切片器(最简便方案)
- 打开包含目标切片器的原页面,点击顶部菜单栏的「视图」选项卡,启用「同步切片器」面板。
- 在面板中勾选需要同步的目标页面,确保「同步切片器」开关处于开启状态,同时在「视觉对象同步」列表中选中该月份切片器。
- 完成后,将文本框复制到目标页面,它会自动同步原页面的切片器选择;如果不想在新页面显示切片器,右键点击同步后的切片器选择「隐藏视觉对象」即可。
方法2:用计算表存储全局选择
如果不想同步切片器,可以通过计算表存储原页面的切片选择,让度量值全局引用:
- 创建计算表(DAX代码):
SelectedMonths = SELECTCOLUMNS(VALUES('Calendar'[Month Year]), "Selected Month", 'Calendar'[Month Year])
- 修改原度量值,改为引用这个计算表:
SelectedValues_Label = VAR _Count = COUNTROWS(SelectedMonths) VAR _Concat = "Stuff is done between " & CONCATENATEX(SelectedMonths, [Selected Month], " - ") RETURN IF(_Count>2,"Multiple Selection",_Concat)
- 此时无论文本框放在哪个页面,都会读取计算表中存储的原页面切片选择值。
方法3:使用查询参数全局控制
适合需要多页面统一控制切片选择的场景:
- 进入「编辑查询」界面,点击「主页」→「管理参数」→「新建参数」,创建一个允许多选的月份参数(比如命名为
SelectedMonthRange),数据类型匹配Calendar表的Month Year字段。 - 在数据模型中,将参数与
Calendar表建立关联,确保参数选择能筛选Calendar表。 - 修改度量值如下:
SelectedValues_Label = VAR _Selected = ALLSELECTED('Calendar'[Month Year]) VAR _Count = COUNTROWS(_Selected) VAR _Concat = "Stuff is done between " & CONCATENATEX(_Selected, [Month Year], " - ") RETURN IF(_Count>2,"Multiple Selection",_Concat)
- 之后修改参数的选择值,所有页面的文本框都会同步更新显示内容。
内容的提问来源于stack exchange,提问作者simon taylor
相关产品推荐
相关产品推荐

