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

如何为同一数据集的两个切片器配置OR逻辑筛选?

实现两个切片器的OR逻辑筛选方案

我刚好处理过类似的需求,要让两个切片器的筛选逻辑变成「满足任一选中值」,而不是默认的AND,用DAX度量值配合视觉级筛选就能轻松实现,下面是具体步骤:

方法:度量值+视觉级筛选

这个方法不需要修改原始数据集结构,灵活度很高,支持单多选场景:

  1. 设置基础切片器

    • 在报表中添加两个独立的切片器,分别绑定你的数据集里的Column1和Column2,保持它们的默认设置即可(允许多选的话记得开启)。
  2. 创建判断OR条件的度量值
    在数据模型中新建一个度量值,用它来判断当前行是否满足任一切片器的选中条件:

    满足OR筛选条件 = 
    VAR 选中的Column1值 = ALLSELECTED('你的表名'[Column1])
    VAR 选中的Column2值 = ALLSELECTED('你的表名'[Column2])
    RETURN
    IF(
        // 两个切片器都没选中时,返回1(显示所有数据)
        COUNTROWS(选中的Column1值) = 0 && COUNTROWS(选中的Column2值) = 0,
        1,
        // 满足Column1在选中列表 或者 Column2在选中列表时返回1,否则返回0
        IF(MAX('你的表名'[Column1]) IN 选中的Column1值 || MAX('你的表名'[Column2]) IN 选中的Column2值, 1, 0)
    )
    

    注意:把你的表名替换成你实际使用的表名称,如果Column2是数值类型,这个公式也能正常匹配,不需要额外转格式。

  3. 应用视觉级筛选
    选中你需要展示结果的可视化组件(比如表格、柱状图等),在「视觉级筛选」面板中添加刚才创建的满足OR筛选条件度量值,设置筛选规则为「等于1」。

测试验证

现在你可以测试不同的选择场景:

  • 只在切片器1选A1:可视化组件会显示所有Column1='A1'的行
  • 只在切片器2选200:可视化组件会显示所有Column2=200的行
  • 同时选A1和200:可视化组件会显示Column1='A1' 或 Column2=200的所有行,完全符合你要的SQL逻辑Where Column1='A1' or Column2=200

补充说明

如果你的数据集很大,担心性能问题,可以优化一下度量值,比如用CALCULATE和FILTER的组合,但上面的写法对于大多数常规数据集已经足够高效了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:27:01