跳至主要内容

Power BI Drill Through:完整教程

通过本完整指南,学习如何在 Power BI 中使用 Drill Through 功能。
· 10分钟 阅读

使用 AI 探索

Power BI 的 Drill Through 是一项强大的交互功能,允许用户从高层概览视图导航到按特定数据点筛选的更详细报表页面。

本教程涵盖关于 Power BI Drill Through 的所有要点:它是什么、为何重要、如何逐步设置、用于动态筛选的高级技巧等。

如果您希望通过动手示例快速上手 Power BI,欢迎查看我们的Power BI Fundamentals 路线。

什么是 Power BI 中的 Drill Through?

Power BI 的 Drill Through 允许用户在一张报表页面上对感兴趣的数据点进行更深入的探索。它使报表使用者能从高层汇总转向针对所选类别、项目或维度量身定制的详细洞察。

当Power BI 报表涉及多个不同的明细层级时,Drill Through 十分有用。与其把所有可用可视化堆在同一页,不如用 Drill Through 引导用户逐层深入洞察。

为何使用 Drill Through 获取更深入的洞察?

Drill Through 提供更具交互性、自助式分析的体验。它让报表用户掌控自己的探索路径,在不修改核心报表结构的前提下回答其独特问题。

关键优势

使用 Power BI Drill Through 有以下主要优势:

  • 细粒度探索:使用户可深入查看特定实体的数据(如单个客户、门店或交易)。
  • 更佳用户体验:通过分离汇总与明细视图来减少杂乱,提升导航与理解。
  • 情境化叙事:Drill Through 页面可针对特定业务问题或 KPI 进行定制。
  • 跨报表功能:在 Power BI 服务中支持跨多个文件的模块化报表开发。
  • 可执行分析:将与单个数据点相关的关键数据突出呈现,助力数据驱动决策。
  • 可扩展性:便于复用报表模板,并在部门或团队间保持一致性。

通过让终端用户深入其特定兴趣领域,Drill Through 架起了静态仪表板与动态分析之间的桥梁。

如何在 Power BI 中设置 Drill Through:分步指南

在 Power BI 中创建 Drill Through 体验,需要设置源页面与目标页面、配置必要字段,并集成返回按钮与工具提示等导航工具。

步骤 1:创建一个模拟财务数据集

在本教程中,我们将始终使用一个模拟财务数据集来演示 Drill Through 概念。

dataset

以下是一个使用 pandas 生成示例数据集的 Python 脚本,您可以将其导出为 CSV 或加载至 Power BI:

import pandas as pd
from datetime import datetime

# Sample data
data = [
    ['TXN001', 'Asia Pacific', 'Singapore', 'Finance', 'Travel', 'Airfare', 1200.00, '2024-05-12', 'Alice Tan'],
    ['TXN002', 'Asia Pacific', 'Singapore', 'Marketing', 'Events', 'Venue Rental', 3500.00, '2024-05-14', 'Ben Lee'],
    ['TXN003', 'Europe', 'Germany', 'Operations', 'Logistics', 'Freight', 2600.00, '2024-06-01', 'Clara Müller'],
    ['TXN004', 'North America', 'USA', 'Finance', 'Training', 'Workshops', 800.00, '2024-05-18', 'Daniel Smith'],
    ['TXN005', 'Europe', 'France', 'IT', 'Software', 'Licensing', 4500.00, '2024-06-04', 'Emma Dubois']
]

# Define column names
columns = [
    'TransactionID', 'Region', 'Country', 'Department', 'ExpenseCategory',
    'SubCategory', 'Amount', 'TransactionDate', 'ManagerName'
]

# Create DataFrame
df = pd.DataFrame(data, columns=columns)

# Convert date column to datetime
df['TransactionDate'] = pd.to_datetime(df['TransactionDate'])

# Save to CSV (optional)
df.to_csv('FinanceTransactions.csv', index=False)

# Display the DataFrame
print(df)

您可以在Python 环境(如 Jupyter Notebook 或 VS Code)中运行该脚本,并将生成的 CSV 导入 Power BI 用于报表。

您可以借助 Python 等工具扩充该数据集,或在 Power BI 中使用 Power Query 的 Enter Data 直接生成。创建完成后,该数据集将作为教程中可视化与 Drill Through 示例的基础。

我们将使用名为 FinanceTransactions 的虚构数据集来演示各个 Drill Through 概念。该数据集模拟了一家跨国公司的财务交易记录。

FinanceTransactions 中的示例字段:

  • TransactionID(文本)
  • Region(文本)
  • Country(文本)
  • Department(文本)
  • ExpenseCategory(文本)
  • SubCategory(文本)
  • Amount(小数)
  • TransactionDate(日期)
  • ManagerName(文本)

我们将创建:

  • 一页汇总页面,按 Region 与 Department 展示总支出。
  • 一页 Drill Through 目标页面,按 ManagerName 或 SubCategory 展示明细交易行。

步骤 2:创建源页面和目标页面

接下来,为确保 Drill Through 正常工作,我们需要设置源页面和目标页面。

  • 源页面:启动 Drill Through 的主报表页面,通常包含柱状图或矩阵等汇总级可视化。
  • 目标页面:专门用于根据用户选择显示筛选后明细的报表页面。

要创建源页面,将当前页面重命名为“Overview”,并按 Enter。

要创建目标页面,请查看屏幕底部,单击绿色“+”按钮添加新页面。双击新页面并将其重命名为“Manager Info”。

该目标页面将用于展示负责这些交易的经理相关信息。

页面应如下所示:

source and target pages

步骤 3:添加相关图表

接下来,我们将在源页面和目标页面添加相关图表。

在我们的示例中,使用 FinanceTransactions 数据集:

在源页面,我们将创建一个用于执行 Drill Through 的简单堆积条形图。该图表使用以下字段:Amount 与 ManagerName。

图表大致如下:

source page chart

如您所见,源页面显示了按 Department 分组的总支出堆积条形图。

在目标页面,创建一个矩阵,包含以下字段:Amount、ManagerName 和 TransactionDate。

应如下所示:

target page example

现在,我们的目标页面显示了按日期列出的支出明细矩阵。

步骤 3:添加 Drill Through 字段

  1. 在 Power BI Desktop 中转到目标页面。
  2. 打开可视化窗格,将所需列(如 ManagerName)拖入Drill Through 区域。

adding drillthrough

如上图所示,应将 ManagerName 字段拖入 Drill Through 区域。

  1. 此时会出现一个特殊的筛选字段,仅允许对此页面进行 Drill Through 交互。

您应看到如下内容:

drill through filters

  1. 如果希望保留来自源页面的切片器或筛选器(如 Region 或 ExpenseCategory),请启用保留所有筛选器(Keep all filters)。

请注意,只有当所选数据点与放入 Drill Through 区域的字段匹配时,Drill Through 才会生效。对于基于文本的列,大小写也需一致。

在本例中,源页面与目标页面的图表中均使用了相同的 ManagerName 字段。

步骤 4:配置可视化与性能

为目标页面选择如下可视化:

  • 信息丰富:使用卡片展示总支出等 KPI,使用表格展示明细行,使用条形图进行按类别细分。
  • 目标明确:仅展示与所筛选维度相关的可视化。
  • 性能优化:避免过于复杂的可视化或过多的 DAX 计算。

例如,您可以使用如下 KPI 卡片:

KPI card example

您可以通过以下方式提升响应速度:

  • 使用汇总表而非原始明细。
  • 减少页面上的切片器与书签数量。
  • 借助 Power BI 的性能分析器(Performance Analyzer)测试可视化加载时间。

步骤 5:使用返回按钮与工具提示设置导航

Drill Through 页面应始终提供返回主报表的方式。

默认情况下,创建 Drill Through 后,Power BI 会生成一个返回箭头按钮以回到源页面。该按钮仅在您完成 Drill Through 后出现,样例如下:

  1. 单击插入 > 按钮 > 返回。
  2. 为返回按钮启用操作,并将类型设置为返回(Back)。
  3. 自定义图标、颜色与位置。

此外,可通过以下方式设置工具提示:

  • 为页面或可视化添加提示文本。
  • 使用包含自有可视化的工具提示页面。

这可确保用户理解 Drill Through 的目的并能直观导航。

步骤 6:测试 Drill Through

最后,在结束前我们需要测试 Drill Through 功能是否正常工作。

在开始之前,建议在 Power BI 中开启现代工具提示(Modern Tooltips)。要开启,请依次前往 文件 > 选项和设置 > 选项 > 预览功能,勾选 Modern visual tooltips 复选框。随后重启 Power BI Desktop 以使更改生效。

开始测试:

  1. 返回源页面,将鼠标悬停在条形图的任意柱上。本例中,我们可以查看最大的柱。悬停后,工具提示下方会出现一个 Drill Through 按钮。

drill through test tool tip

  1. 将鼠标悬停在“Drill through”按钮上,会出现我们的目标页面 Manager Info 选项。

drill through test tool tip target page

  1. 单击 Manager Info 选项,即会跳转到已应用筛选器的目标页面。

您应看到如下结果:

drill through testing target page

这表明 Drill Through 已成功创建。

如何启用跨报表 Drill Through

跨报表 Drill Through 允许用户在不同的 Power BI 报表之间导航,同时保留筛选上下文。当将Power BI 仪表板按职能或部门拆分为模块化部分时,这一功能非常有用。

在 Power BI Desktop 中

  1. 确保源报表与目标报表均使用名称与数据类型匹配的字段。为实现可靠的跨报表 Drill Through,最好两个报表使用共享或已认证的数据集,以确保元数据一致性。
  2. 打开目标报表,然后转到文件 > 选项和设置 > 选项 > 报表设置。
  3. 在当前文件 > 报表设置下,启用“允许此报表中的可视化使用来自其他报表的 Drill Through 目标”。

cross-report drill through

  1. 将两个报表发布到 Power BI 服务中的同一工作区。

在 Power BI 服务中

  1. 在 Power BI 服务中打开已发布的源报表。
  2. 在使用共享字段的可视化上单击右键(如 ManagerName)。
  3. 选择Drill Through >[目标报表名称]。
  4. Power BI 将打开目标报表,并自动应用筛选器。

Drill Through 的高级技巧

结合DAX、条件逻辑与自定义行为,Drill Through 将更加强大。

使用 DAX 参数实现动态 Drill Through

您可以创建一个 DAX 度量,根据用户选择传递动态筛选。例如:

SelectedManager = SELECTEDVALUE(FinanceTransactions[ManagerName])

这可用于:

  • 在目标页面显示自定义消息。
  • 通过条件格式控制可视化行为。
  • 创建可响应切片器值的书签。

关于 DAX 度量的更多信息,您可以参考这份速查表:

DAX cheat sheet

来源:DAX 速查表

处理多选与多个数据点

Power BI Drill Through不默认支持多选。如果用户选择了多个数据点,Drill Through 选项只会显示其中一个选择的结果。

替代方案:

  • 在目标页面使用切片器或筛选面板。
  • 添加汇总表以展示多个项目的高层值。

优化 Drill Through 性能

如果目标页面负载过重,可能会出现性能问题。

以下是一些性能优化建议:

  • 尽可能使用导入模式(Import)而非 DirectQuery,以减轻数据模型负担。
  • 尽量减少可视化数量;必要时使用按钮导航到其他图表。
  • 在 Power Query 中预先计算指标,将其存储在模型中,而非作为度量即时计算。
  • 避免在可视化中使用复杂的 DAX 表达式。

Power BI Drill Through 的技巧与最佳实践

Drill Through 是一种简单且大多数场景都适用的技术。但仍有一些技巧可让其更快、更易懂。

如下所示:

设计建议

由于 Drill Through 需要用户执行操作,因此需要考虑一些设计要点。

设计方面的一些建议:

  • 使用一致的页面命名(如“Manager Detail”“Transaction Details”)。
  • 清晰标注可视化,以反映所应用的筛选条件。
  • 添加帮助性工具提示或图例以引导用户。

常见问题与排错

以下是 Drill Through 问题排查的要点汇总。

问题

解决方案

不可用 Drill Through

确保仅选择了一个数据点,且 Drill Through 区域中放置了有效字段。

未应用筛选器

检查数据类型兼容性与表之间的关系。

性能缓慢

降低可视化复杂度;进行汇总或预筛选数据。

真实场景与案例研究

Drill Through 能有效驱动更深入的业务洞察,因为它让您深入具体数值,从而据此采取行动。

适用于多个行业:

1. 零售

  • 场景:某零售公司按地区展示销售汇总页面。经理可以 Drill Through 查看按产品与员工的销售明细。
  • 收益:快速洞察表现最佳的产品与团队成员。

2. 医疗分析

healthcare dashboard example

医院急诊决策仪表板。来源:Microsoft Fabric

  • 场景:医院仪表板展示入院数量。用户可按治疗类别 Drill Through 到患者级视图。
  • 收益:帮助医生和管理人员按手术或专科监测疗效。

3. 金融服务

  • 场景:财务团队仪表板按部门汇总支出。管理层可按子类别与项目 Drill Through 到费用明细行。
  • 收益:更好的成本控制、更高的透明度与更有针对性的预算编制。

结论

Power BI 的 Drill Through 将静态仪表板转变为动态、交互式的报表,使用户能够自主探索数据并做出明智决策。

要进一步了解 Power BI 的各项功能,请查看我们的Power BI Fundamentals技能路线。

更多阅读,请参阅我们的教程:Power BI 仪表板、Power BI 矩阵与Power BI Calculate。

Power BI Drill Through 常见问题

Power BI 中的 drill up 与 drill down 有何区别?

Drill up 与 drill down 是 Power BI 中用于在不同数据层级间导航的两项功能。Drill up 让用户查看更高层级数据,drill down 则用于查看更细节的数据。

如何在 Power BI 中使用 drill up 与 drill down?

可通过在可视化上单击右键,或使用 Power BI 中可视化工具栏上的按钮来访问 drill up 与 drill down。

在 Power BI 中进行 Drill Through 时,我的筛选器会被保留吗?

是的,在 Power BI 中执行 Drill Through 时,筛选器会被传递,从而让用户分析特定数据子集。

Power BI 的 Drill Through 与 Drill Down 有何不同?

两者都能帮助在数据中导航,但 Power BI 的 Drill Through 允许在保持原有筛选上下文的同时,访问包含更详细信息的另一张报表或页面。相比之下,Drill Down 只是将某些数据点在同一可视化内展开。

Austin Chia

作者

Austin Chia

我是 Austin,一名博主和科技作者,曾在医疗领域担任数据科学家与数据分析师,拥有多年的从业经验。我以生物学背景开启技术之路,如今通过我的科技博客帮助他人完成同样的转型。我对技术的热情促使我为数十家 SaaS 公司撰写内容,分享经验、启发他人。

主题