Ray*_*eld 1 highlight filter powerbi
我有一个具有不同视觉效果的仪表板。数据由保险公司的不同值组成。我希望我的切片器/过滤器不过滤所有数据,而只突出显示所选公司。
例如,在我的切片器中,我选择了保险 ABN。我希望所有其他值仍然可见,并在视觉效果中突出显示 ABN 的值,而不是仅在我的视觉效果中向我显示 ABN 的值。
有谁知道如何做到这一点?
您可以使用条件格式来实现这一点。假设我们将更改背景颜色以“突出显示”一行(或准确地说是单元格)。
首先,我们需要一个切片器,它不会过滤我们的数据。我们可以通过复制源表、删除不必要的列并确保源表和副本之间没有关系来做到这一点。因此,如果我们有一个名为 的源表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))
Run Code Online (Sandbox Code Playgroud)
如果切片器中只选择了一个值(请参阅HASONEVALUE),那么我们的度量将返回 1(突出显示)或 0(不),并将其与当前行进行比较。
否则(即切片器中没有选择,或者选择了 2 个或更多公司),那么我们将查看过滤后的公司列表 ( Table (2)
) - 如果它包含当前行,则为 1(突出显示),否则为 0(不't)。但是我们也会处理切片器中没有选择值的情况。在这种情况下,列表将包含所有公司,即所有行都将突出显示。来了ISFILTERED。最后,如果列表被过滤并且当前行存在于过滤列表中,则为 1(突出显示),否则为 0(不)。
现在,您需要使用此度量来更改列的背景 - 右键单击表中的每一列并选择Conditional formatting
-> Background color
:
然后按规则格式化,其中 Measure >= 1 像这样:
现在,当切片器中没有选择时,表中没有突出显示的行:
如果您选择一家公司,它会突出显示:
如果选择了多个公司,它也适用: