优化报表性能

已完成

创建完报表后,该报表的性能取决于数据加载到报表页上的速度。 应在 Power BI 报表服务器中测试报表,以用户的视角了解其工作原理。 如果你遇到问题,或者报表用户报告了问题,你需要调查这些问题的原因,并采取措施来优化报表,以实现更优性能。

分析性能

若要调查问题的原因,第一步是使用 Power BI Desktop 中的“性能分析器”工具。 借助“性能分析器”,你可以了解每个报表元素(如视觉对象和 DAX 公式)的性能。 “性能分析器”为你提供用于测量(在持续时间内)每个报表元素在用户与其交互时的性能的日志。 通过检查日志中的持续时间,可以确定报表中的哪些元素是资源最(最不)密集的。 可以发现哪里存在瓶颈,这对于进行改进而言是一个很好的起点。

在运行“性能分析器”之前,请确保清除可视缓存和数据引擎缓存;否则结果不准确。 此外,应设置报表,使其在空白页中打开。

清除缓存并在空白页中打开报表后,若要运行“性能分析器”,请转到“视图”选项卡,选择“性能分析器”,然后选择“开始记录”。

“视图”选项卡上“性能分析器”按钮的屏幕截图。

按预期的用户操作方式与报表交互,然后停止记录。 在工作时,交互的结果将显示在“性能分析器”窗格中。 完成后,选择“停止”按钮。 然后可以在“性能分析器”窗格中分析结果。 在“持续时间”列下,报表中的每个项的性能结果(以毫秒为单位)将显示。 下图显示报表上所有项的加载时间不到两秒,说明性能可以接受。 可以展开列表中的项,查看更详细的信息,并确定导致问题的确切原因,例如 DAX 查询、视觉显示或其他内容。

性能分析器结果的屏幕截图。

若要检查 DAX 查询,请选择“复制查询”,然后将其粘贴到 DAX Studio 中,以进行进一步分析。 DAX Studio 是一个免费的开源工具,由其他源提供,可以将其下载和安装到计算机中。

优化性能

可通过分析的结果确定需要改进的方面,其中会突出显示需要优化的项。

性能不佳的常见原因是同一页上的视觉对象过多。 下图显示包含若干视觉对象的繁忙页面示例。

报表页面上视觉对象过多的屏幕截图。

如果已确认视觉对象是导致性能不佳的瓶颈,可以执行以下措施来优化报表:

  • 减少报表页上的视觉对象数,因为视觉对象越少意味着性能越好。 如果不需要某个视觉对象,并且它没有为用户带来价值,应将其删除。 不要在页上使用多个视觉对象,而是考虑其他方法来提供其他详细信息,例如钻取页和报表页工具提示。

  • 减少每个视觉对象中的字段数。 视觉对象的上限为 100 个字段,因此具有 100 个以上字段的视觉对象会加载较慢(并且看起来混乱,令人费解)。 确定没有价值的视觉对象字段,然后删除它们。

如果发现性能问题并非视觉对象所致,应评估“性能分析器”窗格中显示的 DAX 查询结果,并进行深入调查。 例如,可能需要检查语义模型中的其他方面,如关系和列。

如果已进行必要更改以优化报表性能并确定报表性能良好,但某些用户仍遇到性能不佳的情况,则可能存在影响性能的其他因素。 这些因素包括带宽、服务器、防火墙和其他无法控制的外部因素。 你可能需要与组织中的 IT 团队交谈,看看他们能否说明用户使用报表时性能不佳的原因的线索。