首页 > 解决方案 > Power BI:将多个切片器关系更改为 OR 非 AND

问题描述

在 Power BI 中,您可以根据数据中的不同标准拥有多个切片器,例如,一个关于形状,一个关于颜色。这些切片器之间或之间的交互意味着如果我要选择“圆圈”和“红色”,那么结果将仅是红色圆圈。它过滤到同时满足两个切片器的条目。有没有办法设置 Power BI 切片器,以便如果我选择“圆形”和“红色”,我会得到全红色和全圆形结果(例如,只需要满足一个切片器)?

在此处输入图像描述

在这里,我想返回第 1、4、5、6 行。

任何帮助将不胜感激!

标签: powerbidax

解决方案


已编辑。正如亚历克西斯在评论中指出的那样,一开始我错了。感谢您的轻推!

EitherCondition =
VAR MatchesColour =
    CALCULATE (
        COUNTROWS ( 'FactTable' ),
        KEEPFILTERS ( TREATAS ( VALUES ( 'ColoursDisconnected'[Colour] ), 'Colours'[Colour] ) )
) > 0
VAR MatchesShape =
    CALCULATE (
        COUNTROWS ( 'FactTable' ),
        KEEPFILTERS ( TREATAS ( VALUES ( 'ShapesDisconnected'[Shape] ), 'Shapes'[Shape] ) )
    ) > 0
RETURN
  MatchesColour || MatchesShape

由于您的数据模型没有其他详细信息,我假设一个简单的维度模型具有唯一颜色的“颜色”维度和唯一形状的“形状”维度,每个维度都以 1:N 关系与名为“事实表”。正如 Alexis 在评论中指出的那样,为了驱动这种行为,我们需要构建断开连接的表来驱动切片器。

因此,我们从断开连接的表格中填充了切片器,并且我们使用相关维度创建了表格视觉效果。

第一个 VAR 表示基于非连接颜色上下文的事实中是否有任何数据。第二个对形状做同样的事情。如果其中一个为真,我们返回 TRUE。

您可以在 [EitherCondition]=True 上过滤您的视觉对象以删除其他值。或者你可以从这里构建一个更复杂的度量。

关键部分是 DAX 中的筛选上下文始终是逻辑与情况。获得逻辑 OR 的唯一方法是评估多个表达式并想出一种方法来组合它们以适应您的情况。

这是模型图: 模型图

以及正在采取的措施: 视觉使用测量


推荐阅读