【问题标题】:Highlighting with slicer Power BI使用切片器 Power BI 突出显示
【发布时间】:2020-02-05 02:52:32
【问题描述】:

我有一个具有不同视觉效果的仪表板。 数据由保险公司的不同值组成。 我希望我的切片器/过滤器不过滤所有数据,而只突出显示所选公司。

例如,在我的切片器中,我选择了保险 ABN。 我不想只在我的视觉效果中显示 ABN 的值,而是希望所有其他值仍然可见,并且 ABN 的值在视觉效果中突出显示。

有人知道怎么做吗?

【问题讨论】:

    标签: filter powerbi highlight


    【解决方案1】:

    您可以使用conditional formatting 来实现此目的。假设我们将更改背景颜色以“突出显示”一行(准确地说是单元格)。

    首先,我们需要一个切片器,它不会过滤我们的数据。我们可以通过复制源表、删除不必要的列并确保源表和副本之间没有关系来做到这一点。因此,如果我们有一个名为 Table 的源表,如下所示:

    右键单击它并选择Duplicate

    然后右键单击要保留的列的标题并选择Remove Other Columns 以仅获取公司名称列表(您也可以删除重复项,但这不是必需的)。然后在模型中删除两个表之间的关系:

    现在您可以放置​​一个显示数据源中公司名称和销售额的表格,以及来自重复表格的公司名称切片器。此时在切片器中选择值应该不会影响表格。

    现在您需要捕获切片器的值并将其用于度量,这将确定当前行是否突出显示。您可以为此使用SELECTEDVALUE,但请注意,只有在切片器中选择了一个值时,它才会为您提供一个值。如果你想支持多个公司的突出显示,它会变得有点复杂。

    在源表中创建一个新度量,如下所示:

    Measure = IF(HASONEVALUE('Table (2)'[Company name]);
        IF(SELECTEDVALUE('Table (2)'[Company name]) = MAX('Table'[Company name]); 1; 0);
        IF(ISFILTERED('Table (2)'[Company name]) && COUNTROWS(FILTER('Table (2)'; 'Table (2)'[Company name] = MAX('Table'[Company name]))); 1; 0))
    

    如果切片器中只选择了一个值(请参阅HASONEVALUE),那么我们的度量将返回 1(突出显示)或 0(不显示),并将其与当前行进行比较。

    否则(即切片器中没有选择,或者选择了 2 个或更多公司),那么我们将查看已过滤的公司列表 (Table (2)) - 如果它包含当前行,则为 1(突出显示),否则为 0(不要)。但是我们也会处理切片器中没有选择值的情况。在这种情况下,列表将包含所有公司,即所有行都将突出显示。 ISFILTERED 来了。最后,如果列表被过滤并且过滤列表中存在当前行,则为 1(突出显示),否则为 0(不显示)。

    现在,您需要使用此度量来更改列的背景 - 右键单击​​表格中的每一列并选择 Conditional formatting -> Background color

    然后按规则格式化,其中 Measure >= 1 像这样:

    现在,当切片器中没有选择时,表格中没有突出显示的行:

    如果您选择一家公司,则会突出显示:

    如果选择了多家公司,它也可以:

    【讨论】:

    • 感谢清晰的解释!这在某种程度上做了我想做的事情。真正的问题在于我试图突出显示无法进行条件格式设置的视觉效果。但是条件格式确实适用于我使用的其他视觉效果,谢谢!
    【解决方案2】:

    感谢 Andrey 的逐步解释,这非常有帮助。我想跟进一个进一步的问题,特别是关于下面的评论。

    “您可以为此使用 SELECTEDVALUE,但请注意,它会给您一个 仅当在切片器中选择了一个时才取值。如果你想 支持多个公司的突出显示,它会得到更多 复杂。”

    在我的模型中,我已将第三个表(表 (3))链接到表 (2),并且与表 (2) 具有多对一的关系。因此,当我单击表 (3) 时,它将过滤表 (2),它充当表 (1) 的切片器。

    当在表 (2) 中仅过滤 1 个值时,它有条件地格式化表 (1) 中的单元格。但是,当在表 (2) 中筛选出超过 1 个值时,条件格式将失败。

    由于我希望避免在切片器中手动选择多个值(表 (2)),我想知道是否有针对 SELECTEDVALUE 的解决方法,这样当我在表中过滤超过 1 个值时它能够有条件地格式化(2)。

    【讨论】:

      猜你喜欢
      • 2021-03-16
      • 1970-01-01
      • 1970-01-01
      • 2022-07-02
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      • 2023-01-17
      • 1970-01-01
      相关资源
      最近更新 更多