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

如何将Power BI切片器逻辑从OR改为AND以筛选符合多条件的Person ID

切片器多条件AND逻辑筛选Person ID全记录

原始数据如下:

Person IDDateDayAM/PM
15/6/24Fridayam
25/6/24Fridaypm
28/6/24Mondayam
35/6/24Fridayam
48/6/24Mondayam

当前切片器(基于Day+AM/PM组合)采用OR逻辑:选中「Friday PM」和「Monday AM」时,会返回满足任一条件的所有行,但我需要AND逻辑筛选——仅返回同时满足所有选中条件的Person ID的全部记录(比如选上述两个条件时,只返回ID2的两条数据),还要支持灵活切换不同筛选组合。


实现步骤(以Power BI为例)

1. 创建独立筛选条件表

先制作一个包含所有Day+AM/PM唯一组合的辅助表,作为切片器的数据源,不要和原始表建立关系。用DAX代码创建:

筛选条件表 = DISTINCT(SELECTCOLUMNS('原始表', "筛选组合", '原始表'[Day] & " " & '原始表'[AM/PM]))

2. 编写判断度量值

创建一个度量值,计算每个Person ID匹配的选中条件数量,判断是否等于选中的条件总数:

满足所有筛选条件 = 
VAR 选中条件数 = COUNTROWS(VALUES('筛选条件表'[筛选组合]))
VAR 当前ID匹配数 = 
    CALCULATE(
        DISTINCTCOUNT('原始表'[Day] & " " & '原始表'[AM/PM]),
        ALLEXCEPT('原始表', '原始表'[Person ID])
    )
RETURN
    IF(选中条件数 = 当前ID匹配数, 1, 0)

3. 配置筛选规则

  • 将「筛选条件表」中的「筛选组合」字段拖入切片器,设置为多选模式。
  • 在显示原始数据的视觉对象(比如表格)的筛选器中,添加刚刚创建的「满足所有筛选条件」度量值,设置为等于1。

完成以上设置后,切片器选中多个条件时,只会展示那些所有选中条件都覆盖到的Person ID的全部记录,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 07:22:40