使用性能分析器检查报表性能

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

在 Power BI 报表中,可以了解每个报表元素(如视觉对象和 DAX 公式)的执行方式。 通过使用 性能分析器,您可以查看和记录用于衡量用户与每个报表元素交互时性能的日志,了解性能中哪些方面的资源消耗最多(或最少)。

显示性能分析器的屏幕截图。

性能分析器检查并显示更新或刷新用户交互启动的所有视觉对象所需的持续时间。 它还提供信息,以便可以查看、向下钻取或导出结果。 性能分析器可帮助你识别影响报表性能的视觉对象,并确定影响的原因。

显示“性能分析器”窗格

Power BI Desktop 中,选择“ 优化 ”功能区,然后选择 “性能分析器 ”以显示“性能分析器”窗格。

“视图”功能区的屏幕截图,其中突出显示了性能分析器。

Power BI 服务 中打开报表,然后选择“ 编辑”。 编辑报表时,选择 “视图 ”菜单,然后选择 “性能分析器”以显示“性能分析器 ”窗格。

“视图”菜单的屏幕截图,突出显示在 Power BI 服务中编辑报表时的性能分析器。

选择后,性能分析器将显示在 Power BI Desktop 或 Power BI 服务报表画布右侧的自己的窗格中。

使用性能分析器

性能分析器测量因导致运行查询的任何用户交互而启动的报表元素所需的处理时间(包括创建或更新视觉对象的时间)。 例如,调整切片器需要修改切片器视觉对象、发送到数据模型的查询以及由于新设置而更新受影响的视觉对象。

若要让性能分析器开始录制,请选择 “开始录制”。

性能分析器的屏幕截图,其中突出显示了“开始录制”。

报表中执行的任何操作按照 Power BI 加载视觉元素的顺序显示并记录在“性能分析器”窗格中。 例如,你可能有用户说的报表需要很长时间才能刷新,或者报表中的某些视觉对象在调整滑块时需要很长时间才能显示。 性能分析器可以告诉你哪个视觉对象是罪魁祸首,并确定视觉对象的哪些方面需要最长的处理时间。

开始录制后, “开始录制 ”按钮灰显(非活动状态,因为已开始录制),“ 停止 ”按钮处于活动状态。

性能分析器实时收集并显示性能度量信息。 每次选择视觉对象、移动切片器或以任何其他方式交互时,性能分析器都会立即在其窗格中显示性能结果。

如果窗格包含的信息多于可显示的信息,将显示一个滚动条以导航到其他信息。

每个交互在窗格中都有一个部分标识符,描述启动日志条目的动作。 在下图中,交互是用户更改了切片器。

“性能分析器”窗格的屏幕截图,其中突出显示了已更改切片器交互类型。

每个视觉对象的日志信息包括完成以下类别任务所花费的时间(持续时间):

  • DAX 查询 - 如果需要 DAX 查询,则这是发送查询的视觉对象与语义模型或返回结果的 Analysis Services 模型之间的时间。
  • 直接查询 - 如果表存储模式为 DirectQuery,则这是外部查询返回结果的时间。
  • 视觉显示 - 这是视觉对象在屏幕上绘制所需的时间,包括检索任何 Web 图像或地理编码所需的时间。
  • 其他 - 这是视觉对象准备查询、等待其他视觉对象完成或执行其他后台处理所需的时间。
  • 评估参数 (预览版) - 指在幻灯片中评估字段参数所花费的时间。 详细了解字段参数(预览版)。

Duration (ms) 值指示每个作的开始时间戳和结束时间戳之间的差异。 大多数画布和视觉操作在单个用户界面线程上按顺序执行,由多个操作共享。 报告的持续时间包括在其他操作完成时排队耗费的时间。 GitHub 上的 性能分析器示例 及其关联的 文档 提供有关视觉对象如何查询数据和呈现的详细信息。

“性能分析器”窗格的屏幕截图,其中突出显示了持续时间。

与想要通过性能分析器度量的报表元素进行交互后,可以选择“ 停止 ”按钮。 选择 “停止 ”以进行分析后,性能信息将保留在窗格中。

若要清除性能分析器窗格中的信息,请选择“ 清除”。 所有信息都会擦除,选择“ 清除”时不会保存。 若要了解如何在日志中保存信息,请参阅以下部分。

小窍门

当 Power BI 处理查询及其关联的元数据时,查询的处理可能会受到架构的复杂性、数据库中的表数、它们之间的关系的复杂性以及表的外键约束数的影响。 这种复杂性可能会导致返回或呈现报表的初始延迟。

可视化中的 DAX 查询

Power BI 报表中的视觉对象显示语义模型中的数据。 使用 DAX 查询访问数据。 可以通过在性能分析器中选择 “复制查询 ”来查看每个视觉对象的 DAX 查询。 对于使用 DirectQuery 表存储模式的表,此查询包括 DAX 查询和 SQL 或 KQL 中的翻译查询。

在 DAX 查询视图中运行,性能分析器在DAX 查询视图中运行 DAX 查询。 结果网格显示视觉对象使用的数据,可以检查 DAX 查询本身的逻辑。 此选项在 Power BI 服务中不可用,但在导航到服务中的 DAX 查询视图并粘贴 DAX 查询后,可以运行复制的 DAX 查询。

视觉对象中的 DAX 查询结构较冗长且结构化,其复杂程度超过了获取相同结果的必要性。 生成报表时,视觉对象 DAX 查询结构有助于将视觉对象从一种类型更改为另一种类型。 Fabric Copilot 用于在 DAX 查询视图中编写和解释 DAX 查询,可以使用以下提示将可视化的 DAX 查询简化为更简单的形式。

   Remove the VARs and TOPN and simplify this DAX query

Copilot 由 AI 提供支持,因此可能会带来意外和错误。 有关详细信息,请参阅 Copilot 常规使用常见问题解答

DAX 查询学习文档 中了解更多关于 DAX 查询的信息。

清新视觉效果

可以选择“性能分析器”窗格中的 “刷新视觉对象 ”以刷新报表的当前页上的所有视觉对象,从而让性能分析器收集有关所有此类视觉对象的信息。

还可以刷新单个视觉对象。 性能分析器录制时,可以选择“ 分析此视觉对象”(位于每个视觉对象的右上角)以刷新该视觉对象并捕获其性能信息。

视觉对象的屏幕截图,其中突出显示了“分析此视觉对象”图标。

保存性能信息

可以通过选择“ 导出 ”按钮保存性能分析器创建有关报表的信息。 选择 “导出 ”会创建一个 .json 文件,其中包含性能分析器窗格中的信息。

“另存为”窗口的屏幕截图,其中显示了创建 .json 文件。

有关 Power BI Desktop 以及如何开始的详细信息,请参阅以下文章。

有关性能分析器示例的信息,请查看以下资源。