在 Power BI 中创建钻取按钮

适用范围:Power BI Desktop Power BI 服务

可以在 Power BI 中创建一个钻取按钮。 此按钮将钻取到一个页面,其中包含筛选到特定上下文的详细信息。

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

在此示例中,选择图表中的 Word 栏后即会启用“查看详细信息”钻取按钮。

视觉对象的屏幕截图,其中突出显示了“查看详细信息”钻取按钮。

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

显示筛选的视觉对象的屏幕截图,其中突出显示了 Word 筛选器。

设置钻取按钮

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

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

视觉对象和“格式”菜单的屏幕截图,其中突出显示了用于设置钻取按钮的选项。

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

下面的示例展示了禁用按钮时自动生成的工具提示:

“要钻取到‘市场篮分析’[目标页面],请从‘产品’[钻取字段]中选择一个数据点。”

视觉对象的屏幕截图,其中突出显示了已禁用的自动生成的工具提示。

下面的示例展示了启用按钮时自动生成的工具提示:

“单击以钻取到‘市场篮分析’[目标页面]。”

视觉对象的屏幕截图,其中突出显示了已启用的自动生成的工具提示。

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

传递筛选器上下文

按钮的工作方式与常规钻取类似:可以通过交叉筛选包含钻取字段的视觉对象在更多字段中传递筛选器。 例如,使用 Ctrl + 单击和交叉筛选,可以将商店细分中的多个筛选器传递到钻取页,因为所选内容对包含“产品”(即钻取字段)的视觉对象进行了交叉筛选:

视觉对象的屏幕截图,其中突出显示了交叉筛选到商店细分中的 Word。

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

“筛选器”窗格的屏幕截图,其中突出显示了已应用的筛选器。

不明确的筛选器上下文

由于钻取按钮没有绑定到单个视觉对象,因此,如果选择不明确,则会禁用此按钮。

在此示例中,按钮处于禁用状态,因为两个视觉对象在“产品”中都包含一个选择。 关于可以从哪个视觉对象将钻取操作绑定到哪个数据点存在歧义:

显示带有“已禁用”按钮的不明确筛选器上下文的屏幕截图。

为禁用按钮自定义格式

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

显示自定义的“已禁用”按钮格式的屏幕截图。

这些格式选项包括:

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

    显示格式化的“已禁用”按钮文本的屏幕截图。

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

    显示格式化的“已禁用”按钮填充的屏幕截图。

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

    显示格式化的“已禁用”按钮图标的屏幕截图。

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

    显示格式化的“已禁用”按钮边框的屏幕截图。

有条件地为按钮文本设置格式

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

以下示例度量值输出“查看产品详细信息”(如果未选择单个 Product 值)。 如果选择了一个产品值,度量值将输出“查看[所选产品的]详细信息”:

String_for_button = If(SELECTEDVALUE('Product'[Product], 0) == 0, "See product details", "See details for " & SELECTEDVALUE('Product'[Product]))

创建此度量值后,请按照 Power BI Desktop 中的以下步骤操作:

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

    “文本”窗格的屏幕截图,其中突出显示了按钮文本的“条件格式”按钮。

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

    “文本状态”窗格的屏幕截图,其中突出显示了按钮文本的选定字段。

  3. 选择单个产品时,按钮文本显示:

    “查看 Word 的详细信息”

    类别细分的屏幕截图,其中突出显示了“查看 Word 详细信息”。

  4. 如果未选择任何产品或选择了多个产品,则该按钮将被禁用。 按钮文本显示:

    “查看产品详细信息”

    类别细分的屏幕截图,其中突出显示了选中的多个值和禁用的“查看产品详细信息”按钮。

有条件地设置工具提示的格式

启用或禁用钻取按钮时,可以有条件地为其设置工具提示。 如果使用条件格式动态设置钻取目标,则可能希望根据最终用户的选择,按钮状态的工具提示更具信息性。 以下是一些示例:

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

    如果用户未选择单个产品或单个商店,度量值将返回:“选择单个产品,Ctrl + 单击以同时选择单个应用商店。

    如果用户选择单个产品而不是单个商店,则度量值将返回:“Ctrl + 单击以同时选择单个存储。

  • 同样,你可以将已启用的状态工具提示设置为特定于用户的选择。 例如,如果希望用户知道哪个产品并存储钻取页,则可以创建返回的度量值:

    “单击可钻取到[钻取页名称],在[商店名称]商店查看有关[产品名称]销售的更多详细信息。

有条件地设置钻取目标

根据度量值的输出,可以使用条件格式设置钻取目标。

在某些情况下,你可能希望按钮钻取目标是有条件的:

  • 只需在满足多个条件时,才想要实现钻取到页面。 否则,按钮将处于禁用状态。

    例如,你希望用户选择单个产品和单个商店,然后才能钻取到市场详细信息页。 否则,按钮将处于禁用状态。

    显示所选产品和商店的屏幕截图。

  • 你希望按钮基于用户选择支持多个钻取目标。

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

    显示所选产品和目标的屏幕截图。

  • 可能还会遇到有趣的混合方案的案例,要同时支持多个钻取目标和要禁用该按钮的特定条件。 继续阅读有关这三个选项的详细信息。

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

让我们看一看第一种情况,即,你想要保持按钮的禁用状态直到满足更多条件。 在 Power BI Desktop 中,你需要创建一个基本 DAX 度量值,除非满足条件,否则该度量值会输出一个空字符串 (“”)。 满足条件后,度量值将输出“钻取目标”页的名称。

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

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

创建度量值后,请按照 Power BI Desktop 中的以下步骤操作:

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

    “操作”窗格的屏幕截图,其中突出显示了“条件格式”按钮。

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

    “目标操作”窗格的屏幕截图,其中突出显示了基本字段选择。

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

    “类别细分”视觉对象的屏幕截图,其中突出显示了已禁用的钻取按钮。

支持多个目标

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

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

    显示“创建表”窗口的屏幕截图。

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

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

    显示钻取切片器的屏幕截图。

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

    显示不带标头的钻取切片器的屏幕截图。

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

    显示水平切片器的屏幕截图。

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

    “操作”页的屏幕截图,其中突出显示了钻取目标的“条件格式”按钮。

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

    显示已选择“选择目标字段”的屏幕截图。

    现在可以看到,仅当你选择产品和目标时,才启用钻取按钮:

    显示所选产品和目标的屏幕截图。

两种方案的混合

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

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

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

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

显示所选产品、商店和目标的屏幕截图。

注意事项和限制

  • 此按钮不允许通过单个按钮实现多个目标。
  • 此按钮仅支持在同一报表中进行钻取。换句话说,它不支持交叉报表钻取。
  • 按钮的禁用状态格式与报表主题中的颜色类别相关。 详细了解颜色类别
  • 钻取操作适用于所有内置视觉对象以及从 AppSource 导入的某些视觉对象。 但并不保证此操作适用于从 AppSource 导入的所有视觉对象。

若要详细了解与按钮类似的功能或如何与按钮交互,请参阅以下文章: