我是如何显著减少 Power BI 报告加载时间的
本文翻译自Nikola LLic的文章—《How I speed up my Power BI report 5x》来源:Medium。您的 Power BI 报告打开速度是不是很慢? 今天这篇文章将告诉您如何通过应用一些简单的技巧来显着加快速度,同时保留原始报告的外观。
您能发现以下两个报告之间的区别吗?
实际上,我也发现不了。
但是,这两个报告之间存在着巨大差异!如果我告诉你右边的报告比左边的快 5 倍你会相信吗?请继续阅读下文,我将告诉你这是怎样实现的。
事情的起因
您在上图中左侧看到的报告页面显示了一些与客户支持中心的绩效相关的数据。有一大堆与聊天、调查、电话、电子邮件等相关的指标。
但是,此报表页面需要大量时间来呈现和加载。罪魁祸首正是大量的卡片视觉效果(总共 21 个)。由于 Power BI 背后的公式引擎是单线程的,正如下文中将要详细解释的那样,对于每个卡片视觉对象,都会生成一个新的查询,并且在前一个查询完成之前无法执行下一个。
性能分析器捕获的时间很好地反映了这一点。性能分析器是 Power BI 中一个非常强大的内置功能,可让您深入了解幕后发生了什么。您还可以使用外部工具来获取报告指标,例如 DAX Studio。
让我们打开性能分析器,看看原始版本报告的幕后情况:
此报表页面渲染时间超过 3 秒!对于一个并不大的数据量来说,这是不可接受的。让我们按总时间降序对各个时间进行排序,看看是什么让我们的报告加载变慢:
您可以看到我们的 2 个卡片视觉效果分别以 3238 和 3149 毫秒保持在顶部。然而,一旦我们展开查看这些数字的细节,我们会注意到视觉效果的“其他”部分几乎占据了总时间的 99%!
那个“其他”意味着什么?
“其他”显示特定视觉对象必须在执行队列中等待多长时间才能执行该视觉对象的 DAX 查询!因为我的报告包含 30 多个视觉效果,其中 21 个是卡片视觉效果,其中一些必须等待其他视觉效果完成才能执行操作。
因此,DAX 查询在这里不是问题,因为您看到这两个视觉对象只用了 4 毫秒来执行它们的 DAX 查询。即使我按 DAX 查询对时间进行排序也可以看到最长的 DAX 查询只用了 34 毫秒:
优化报告
我尝试优化我的原始报告。出发点是尝试减少报告页面上的视觉效果。由于确认了 DAX 查询不是问题所在,因此思路是减少“其他”时间。
使用形状创建背景
我做的第一件事是从报告中删除我所有的形状(矩形等)。怎样做到这一点?您可以简单地在 PowerPoint 中创建背景布局并将其保存为图像!
这是我在 PowerPoint 中创建的布局,用于“模仿”原始页面的外观。将其保存为图像:
并将这张图片作为您报告的背景图片,就这么简单!
接下来就是见证奇迹的时刻:
最有意思的部分来了,我们如何才能替换现有的卡片视觉效果,同时保持原始版本的“外观和感觉”呢?
我只是将我的计算放在了 Matrix 视觉效果中,用一个 Matrix 视觉效果替换了单独的卡片视觉效果。而且,通过一些调整和格式化,得到(几乎)相同的报告外观!
您应该做的第一件事是将风格设置为“无”,从列标题和行标题中删除轮廓,然后关闭自动调整列宽选项:
格式窗格下的“字段格式”属性中需要关键格式,您应该在其中设置正确的颜色、字体、字体大小等,以遵循原始报告中的模式。
同时不要忘记拉伸各个矩阵字段与“卡片”形状匹配。
做好准备,大招要来了
现在,让我们检查最重要的事情——不要忘记我们开始整个过程是为了提高报告的性能。
因此,我将再次打开性能分析器,现在在我修改后的报告中检查指标:
难以置信,我的报告中最慢的两个视觉效果现在需要大约 0.6 秒就可以显示出来,相比原先的 3 秒,快了 5 倍!
现在,您可以注意到“其他”时间从大约从3000 毫秒下降到 300 以下!最后,通过将一堆视觉对象移到 PowerPoint 中创建的背景图像中,我们报告中的视觉对象数量显着减少。
但是,这里的关键修改点是:我们实际上并没有改变报告的原始外观——我们只是显着改进了基础流程,因此,对于我们的用户来说,一切都是一样的,只是他们现在可以更快地看到数字!而且您知道当您的用户更快地获得结果时意味着什么——用户对你的敬仰将如滔滔江水连绵不绝~
结论
全篇有两个关键点:
如果您的报告运行缓慢,有多种方法可以检查原因:使用性能分析器或 DAX Studio 确定您是否可以应用一些额外的步骤来改进报告。
关注 Power BI 专家的博客和视频。那里有很多东西要学,你总能找到自己工作的灵感。
如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。
长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~
Power Pivot工坊
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)