Power BI:将多个切片器关系更改为 OR 而不是 AND

问题描述 投票:0回答:2

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

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

任何帮助将不胜感激!

powerbi dax
2个回答
1
投票

已编辑。正如亚历克西斯在评论中指出的那样,我一开始就错了。谢谢你的温柔提醒!

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 中的过滤器上下文始终是逻辑 AND 情况。获得逻辑 OR 的唯一方法是评估多个表达式,并想出一种适合您情况的组合它们的方法。

模型图如下:

以及正在采取的措施:


0
投票

我知道这已经是很久以前的事了,但我希望有人看到这条消息。
非常感谢您提供这个解决方案。它返回 true/false 完全符合我的预期。

但是,power bi 不允许我正确过滤新措施。
如果我将度量拖到页面过滤器,它实际上不会显示。如果我将它拖到视觉过滤器中,它会显示出来,但它不允许我过滤 True 与 False,它只有“全部”。

我错过了一个步骤吗?我使用的是 Power bi Desktop 2.124.1052.0(2023 年 12 月)

© www.soinside.com 2019 - 2024. All rights reserved.