Power BI 微课堂 | 第32课:创建钻取按钮

published: 2024-07-02

今天,我们继续学习:创建钻取按钮。体系化学习如何在 Power BI 中创建和设置钻取目标,以及基于条件设置按钮文本、工具提示等配套功能的格式。


》钻取按钮的作用

在 Power BI 中,我们可以通过创建一个钻取按钮,让报表用户自主钻取到另一个包含筛选特定上下文的详细信息页面中。

在报表中进行钻取的一种方法是,右键单击视觉对象。但是,如果希望钻取操作更为明显,可以改为创建钻取按钮。钻取按钮可以增加报表中重要钻取方案的可发现性,而且你还可以在一定条件下确定该按钮的外观和操作方式。

例如,如果满足某些条件,则在按钮上显示不同的文本。在下图示例中,当选择图表中的 Word 栏后,即可启用“查看详细信息”钻取按钮。

选择“查看详细信息”按钮后,会钻取到“市场篮分析”页面。在下图的视觉对象中可以看到,钻取页现在的筛选条件为 Word。


》设置钻取按钮

要在 Power BI Desktop 或 Power BI 服务中设置钻取按钮,首先需要在报表中设置一个有效的钻取页面。然后,创建操作类型为“钻取”的按钮,并选择钻取页作为“目标”。

由于钻取按钮有两种状态(“已启用”和“已禁用”),因此,可看到两个工具提示选项。

如果将工具提示框留空,Power BI 会自动生成工具提示,这是基于目标和钻取字段的。

下图的示例展示了禁用按钮时自动生成的工具提示:“要钻取到‘市场篮分析’[目标页面],请从‘产品’[钻取字段]中选择一个数据点。”

下图的示例展示了启用按钮时自动生成的工具提示:“单击以钻取到‘市场篮分析’[目标页面]。”

但如果要提供自定义工具提示,可以输入静态字符串。你还可以应用条件格式到工具提示。


》传递筛选器上下文

按钮的工作方式与常规钻取类似:可以通过交叉筛选包含钻取字段的视觉对象在更多字段中传递筛选器。

例如,使用 Ctrl + 单击和交叉筛选,可以将商店细分中的多个筛选器传递到钻取页,因为所选内容对包含“产品”(即钻取字段)的视觉对象进行了交叉筛选:

选择钻取按钮后,可看到商店和产品中的筛选器同时传递到目标页中:

  • 不明确的筛选器上下文:由于钻取按钮没有绑定到单个视觉对象,因此,如果选择不明确,则会禁用此按钮。在下图示例中,按钮处于禁用状态。这是因为两个视觉对象在“产品”中都包含一个选择。关于可以从哪个视觉对象将钻取操作绑定到哪个数据点存在歧义:


》为禁用按钮自定义格式

我们还可以为钻取按钮的禁用状态自定义格式选项。

这些格式选项包括:

  • 按钮文本控件:文本、字体系列、字体大小、字体颜色、对齐方式和填充

  • 按钮填充控件:颜色、填充图像和透明度

  • 按钮图标控件:形状、线条颜色、粗细、透明度、对齐方式和填充

  • 按钮边框控件:颜色、宽度、透明度


》基于条件为按钮文本设置格式

在 Power BI Desktop 中,可以使用条件格式根据选择的字段值更改按钮文本。为此,我们需要创建一个基于 DAX 函数 SELECTEDVALUE 输出所需字符串的度量值。

在以下 DAX 示例中,度量值输出“查看产品详细信息”(如果未选择单个产品值)。如果选择了一个产品值,度量值将输出“查看[所选产品的]详细信息”:String_for_button = If(SELECTEDVALUE('Product'[Product], 0) == 0, "See product details", "See details for " & SELECTEDVALUE('Product'[Product]))

创建此度量值后,请在 Power BI Desktop 中执行以下步骤:

对于按钮文本,请选择“条件格式”(fx) 选项。

选择为按钮文本创建的度量值:

选择单个产品时,按钮文本显示:“查看 Word 的详细信息”

如果未选择任何产品或选择了多个产品,则该按钮将被禁用。按钮文本显示:“查看产品详细信息”。


》基于条件设置工具提示的格式

启用或禁用钻取按钮时,我们可以基于条件为其设置工具提示。如果使用条件格式动态设置钻取目标,则可能希望按钮状态的工具提示更加丰富,这取决于最终用户的选择。 下面是一些示例:

示例一

可使用自定义度量值将禁用状态工具提示设置为据具体情况进行规范。例如,如果你希望报表用户选择单个产品和单个商店,才能钻取到“市场分析”页面,则可使用以下逻辑创建度量值:

  • 如果用户未选择单个产品或单个商店,则该度量值将返回:“选择单个产品,然后按住 Ctrl 并单击选择单个商店。”

  • 如果用户已选择单个产品,但未选择单个商店,该度量值将返回:按住 Ctrl 并单击还可以选择单个商店。

示例二

同样,你可以将已启用的状态工具提示设置为特定于用户的选择。例如,如果希望用户知道钻取页将筛选出的产品和商店,则可创建返回以下内容的度量值:“单击以钻取到[按页面名称钻取],以查看有关 [商店名称] 商店销售 [产品名称] 的详细信息。”


》基于条件设置钻取目标

根据度量值的输出,我们可以使用条件格式设置钻取目标。在某些情况下,你可能希望按钮钻取目标是有条件的:

只需在满足多个条件时,才想要实现钻取到页面。否则,按钮将处于禁用状态。例如,你希望用户选择单个产品和单个商店,然后才能钻取到市场详细信息页。否则,按钮将处于禁用状态。

你希望按钮基于用户选择支持多个钻取目标。例如,如果有用户可以钻取到的多个目标(市场详细信息和商店详细信息),可以让用户选择一个要钻取到的特定目标,然后为此钻取目标启用该按钮。

01 禁用按钮,直到满足多个条件

让我们看看第一种情况:想要保持按钮的禁用状态直到满足更多条件。

在 Power BI Desktop 中,需要创建一个基本 DAX 度量值,除非满足条件,否则该度量值会输出一个空字符串 (“”)。满足条件后,度量值将输出“钻取目标”页的名称。

下面是一个示例 DAX 度量值,需要先选择一个商店,然后用户才能在产品上钻取到“商店”详细信息页:

Destination logic = If(SELECTEDVALUE(Store[Store], “”)==””, “”, “Store details”)

创建度量值后,请在 Power BI Desktop 中执行以下步骤:

对于按钮操作,选择“目标”旁边的“条件格式”(fx)。

在最后一步中,选择你创建的 DAX 度量值作为目标的字段值。

现在你会发现,即使选择了单个产品,此按钮也处于禁用状态,因为度量值还要求你选择单个商店。

02 支持多个目标

对于要支持多个目标的其他常见情况,请执行以下步骤:

使用钻取目标的名称创建单列表。

由于 Power BI 使用完全匹配的字符串来设置钻取目标,因此请确保输入的值与钻取页名称完全一致。

创建表后,将其作为单项选择切片器添加到页面。

如果需要更多垂直空间,请将切片器转换为下拉列表。删除切片器标头并在其旁边添加一个带有标题的文本框。

或者,将列表切片器从垂直方向更改为水平方向。

对于钻取操作的目标输入,为该按钮操作选择“目标”旁边的“条件格式”(fx) 按钮。

在“目标 - 操作”页上,选择创建的列的名称。在本例中,它是“选择目标”。

现在,你会看到“钻取”按钮仅在你同时选择了一个产品和一个目标时才启用:

03 两种方案的混合

如果大家对这两种混合方案感兴趣,可以在 Power BI Desktop 中创建和引用 DAX 度量值,为目标选择添加更多逻辑。

下面是一个DAX 示例度量值,用户需要先选择一个商店,然后才能在“产品”上钻取到任何钻取页:

Destination logic = If(SELECTEDVALUE(Store[Store], “”)==””, “”, SELECTEDVALUE(‘Table'[Select a destination]))

在 Power BI Desktop 中,选择你创建的 DAX 度量值作为目标的字段值。在此示例中,用户必须选择产品、商店和目标页,然后才能启用钻取按钮:

注意事项和限制

- 钻取按钮不支持通过单个按钮实现多个目标。

- 钻取按钮仅支持在同一报表中进行钻取。换句话说,它不支持交叉报表钻取。

- 钻取按钮的禁用状态格式与报表主题中的颜色类别相关。

- 钻取操作适用于所有内置视觉对象以及从 AppSource 导入的某些视觉对象。但并不- - 保证此操作适用于从 AppSource 导入的所有视觉对象。



以上就是关于「创建钻取按钮」的全部内容。感谢您的耐心阅读,更多 Power BI 学习资源,请持续关注优阅达大数据生态。