问题
查看和评估Power BI文件性能的最佳方法是什么?
解
与许多新工具一样,对Power BI的大肆宣传一直在于它可以做什么,或者更好的是它可以展现什么。功能的数量一直在增长,这是一件了不起的事情;每次大致每月更新中都会发布的新功能令人耳目一新。在最新的更新之一中,添加了“后端”功能,该功能应有助于提高整体可靠性。性能分析器功能为报表设计人员提供了一种方法,可以确定在刷新数据并将其加载到Power BI视觉文件中时发生的流程的时钟时间。时序列表包括一些项目,例如加载数据所花费的时间,然后是视觉内容用数据刷新所花费的时间等。我们将在笔尖中介绍这些项目。
了解性能分析器优势的最佳方法是通过示例。但是,在进入示例之前,您需要确保 下载最新版本的Power BI Desktop。此外,我们将使用WideWorldImportersDW数据库作为数据源的基础;该数据库可以 从GitHub下载。如果需要重新将数据导入Power BI中, 请参阅此技巧。
为了帮助我们入门,将创建一个Power BI PBIX报告文件,并将两个选项卡添加到该报告中。第一个选项卡包含一个条形图和切片器,而第二个选项卡包含一个矩阵和另一个条形图,如以下两个屏幕截图所示。
如下所示,要启用性能分析器,请首先切换到“视图”选项卡,然后单击“性能分析器”旁边的复选框以启用此功能。
此时,“性能分析器”选项卡将打开。要真正开始收集有关性能的数据,必须完成对各种报告数据处理的记录。因此,应该记录视觉刷新和交互的计划,以便记录需要监视的适当过程。
单击“开始记录”按钮后,Power BI将跟踪三个项目,包括可视显示,DAX查询和“捕获所有其他”类别。返回数据后,“视觉”显示项记录在屏幕上呈现视觉效果所花费的时间。此时间可能包括渲染地图所需的时间,以及从外部来源获取和生成地图详细信息(例如道路或其他地理位置)所需的时间。DAX查询行项目考虑了将查询发送到数据源,然后最终返回到Power BI视觉所需的时间。在其他类别中,其他类别实际上是一个耗时的过程,它用于等待其他视觉效果中的其他过程完成,等待Power BI系统处理,或DAX查询排队等待队列轮流在处理队列中运行的任何时间。如下例所示,“其他”类别可能是等待时间的重要部分。
此外,您会注意到Performance Analyzer监视每个发生的视觉交互。因此,性能分析器将跟踪发生的各种操作。例如,在下面的第一个屏幕打印中,我们看到“更改模型”操作;当我们刷新模型数据时,将产生此操作。您还将看到以下操作:
- 更换切片机
- 交叉突出显示
- 视觉效果
- 下钻/上钻
- 换页
- 编辑了视觉
如上所示,我们还可以看到每个进程可能会或可能不会发起DAX查询。切片器更改通常不会建立DAX查询。同样,交叉突出显示的操作通常也不会执行DAX查询,也不会执行“向下钻取”操作。相反,几乎总是,刷新视觉图像会发起DAX查询。但是,几乎所有操作都会在视觉显示和其他类别中导致一些等待时间。
上面讨论的每个数据点时序都为我们提供了潜在的行动计划,以查看性能是否可以提高。例如,如果您发现在“更改模型”操作期间DAX查询时间花费很长时间,则建议您检查模型以及模型的任何相关添加项(例如计算列或度量),以尝试提高性能。或者,如果视觉内容需要很长时间才能刷新,则可能是视觉内容包含太多数据。这种情况通常会在表或矩阵可视化程序返回到几百万行数据时发生(请记住,没有人可以查看这么多行!)。另一种情况可能是“其他”类别正在显示大量等待时间。
性能分析器中可以使用的另一个便捷功能是“刷新视觉效果”选项。此按钮将启动所有视觉效果的手动刷新。在存在许多视觉效果的情况下,该功能非常方便,并且您希望一次检查所有视觉效果的时间。
最后,当不再需要录制时,单击“停止”选项将减少演奏数据的录制,如下所示。清除选项(也如下所示)将截断所有计时数据。请注意,保存报告时不会保存数据。
如果需要数据以用于将来的分析或在另一个工具中(甚至在Power BI中)进行报告,则“导出”选项提供了将数据保存为JSON格式的机会。
如果需要,我们可以将JSON文件用作Power BI中另一个数据源的基础。这样的数据模型如下所示( 有关将JSON文件导入Power BI的信息,请参阅本 技巧)。
复制查询选项是最后一项,它不仅可以从性能的角度帮助您,而且可以帮助您学习DAX。如下所示,“复制查询”选项显示在每个计时操作下。
复制查询功能将相关的DAX查询复制到剪贴板。以下是为每个相关动作产生的一些示例。复查这些查询可能有助于查看用于产生各种结果的某些DAX语言,因此可以是一种学习体验。
全新的Performance Analyzer是在Power BI Desktop的开发过程中跟踪Power BI报表性能的简便方法。