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

Power BI中如何分两列放置切片器并实现或逻辑筛选?

实现Power BI切片器的OR逻辑筛选需求

可以实现这个需求。默认情况下Power BI的切片器是AND逻辑(要求同时满足所有切片器的筛选条件),而你需要的是OR逻辑(满足任一切片器的条件即可),具体操作步骤如下:

1. 创建独立的维度表

首先要为两个切片器分别创建独立的维度表,避开原表的筛选上下文限制:

  • 创建StudentID维度表:
    在Power BI的「建模」选项卡中点击「新建表」,输入以下DAX公式:
    StudentID_Dim = DISTINCT(School_Table[StudentID])
    
  • 创建Schl code维度表:
    同样新建表,输入公式:
    SchlCode_Dim = DISTINCT(School_Table[Schl code])
    
    注意:这两个维度表不需要和School_Table建立任何关系。

2. 生成符合条件的结果表(两种方法可选)

方法一:直接创建计算表

新建表,输入以下DAX公式,生成满足OR逻辑的结果表:

Filtered_School_Table = 
VAR SelectedStudents = VALUES(StudentID_Dim[StudentID])
VAR SelectedSchools = VALUES(SchlCode_Dim[Schl code])
RETURN
FILTER(
    School_Table,
    School_Table[StudentID] IN SelectedStudents || School_Table[Schl code] IN SelectedSchools
)

之后直接使用这个Filtered_School_Table制作可视化表格,切片器分别选择StudentID_Dim[StudentID]和SchlCode_Dim[Schl code]即可。

方法二:用度量值过滤原表

如果不想新建表,可以创建一个度量值来控制原表的显示:

IsQualified = 
VAR SelectedStudents = VALUES(StudentID_Dim[StudentID])
VAR SelectedSchools = VALUES(SchlCode_Dim[Schl code])
RETURN
IF(
    MAX(School_Table[StudentID]) IN SelectedStudents || MAX(School_Table[Schl code]) IN SelectedSchools,
    1,
    0
)

然后在原School_Table的可视化表格中,将这个度量值添加到「筛选器」面板,设置筛选条件为IsQualified = 1,切片器同样使用两个维度表的字段。

效果验证

当你在StudentID切片器选择1、2,Schl code切片器选择103、104时,结果表会包含StudentID为1、2、5、6的所有记录,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 10:45:32