繁体   English   中英

使用切片器 Power BI 突出显示

[英]Highlighting with slicer Power BI

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

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

有谁知道如何做到这一点?

您可以使用条件格式来实现这一点。 假设我们将更改背景颜色以“突出显示”一行(或准确地说是单元格)。

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

在此处输入图片说明

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

在此处输入图片说明

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

在此处输入图片说明

如果选择了多个公司,它也适用:

在此处输入图片说明

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

“您可以为此使用 SELECTEDVALUE,但请注意,只有在切片器中选择了一个时,它才会为您提供一个值。如果您想支持突出显示多个公司,它会变得更加复杂。”

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

当表 (2) 中仅过滤 1 个值时,它有条件地格式化表 (1) 中的单元格。 但是,当表 (2) 中过滤了 1 个以上的值时,条件格式将失败。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM