加载慢_PowerBI技巧:数据加载慢,我该怎么办?

(正文开始)
问题描述:随着我们应用PowerBI越来越熟练,在工作中创建了很多的仪表盘,可能存在这样一个通用问题:“数据加载慢!”。原因可能有多种,一方面确实是数据量非常大;另一方面,则是我们的数据模型或者仪表盘中有部分不合理的地方,需要我们去优化,那么,如何优化呢?
本文尝试着做一个总结,给大家做参考,欢迎对此感兴趣的童鞋积极交流,相互学习,共同成长!
(声明):此乃一家之言,由于能力有限,或有不当之处,还望大虾批评指正,帮我提升!
第一部分 PowerBI使用建议
我从3方面进行总结:数据清洗阶段、数据建模阶段、数据可视化阶段。
一、数据清洗阶段
我们在本阶段,通过Power Query加载数据,并进行清洗,可依以下建议进行:
1、仅加载需要的数据:表、列、行
2、维度表不用勾选“在报表中刷新”,在周期到后再手动刷新

3、事实表根据周期分块管理(年、季度等),结合第2个建议进行优化
4、事实表根据分析粒度,判断是否需要进行聚合
5、SQL Server:Import优于Direct Query
6、SSAS:Connect Live优于Import
… …
二、数据建模阶段
关于本阶段,之前有文章进行描述,见《PowerBI:数据建模需要注意的地方 V1.0》,这里进行提炼如下:
1、表+关系+布局
2、表:事实表+维度体系表+指标体系表
3、维度表:角色维度
4、关系:表关系+层级关系、数据流向
5、布局:星型、雪花、漏斗
6、避免使用 计算列(新增维度)
7、避免使用 迭代器(度量值)
8、友好性:隐藏不需要的字段(key)、名称(表、列、度量值等)
… …
三、数据可视化阶段
1、从左到右/从上到下:粒度由大到小
2、允许下钻
3、What If参数控制
4、减少过滤器使用
5、避免花哨图表(建议多用点、线图)
6、多用图、少用数字(一图胜千言)
7、避免使用 迭代器(度量值)
8、颜色、布局、主题名称、Logo
… …
第二部分 工具推荐
“工欲善其事必先利其器”,关于这部分内容,推荐两款工具:DAX Studio、Vertipaq Analyzer。
1、DAX Studio
通过它,我们不仅可以导出数据,还可以监控分析到底是哪些DAX度量值编写存在问题,耗时最长,从而为我们优化指明方向。


比如,如上图,我们知道有一个度量值耗时4秒,通过分析,我们知道此度量值中使用了Filter迭代器,也就是说使用了循环,这也就是我们在数据建模阶段建议7中所给的建议:度量值中尽量要避免使用迭代器,因为它会增加代码执行的时间复杂度,从而降低效率。
2、Vertipaq Analyzer
截止本文发表,最新版本是1.92,它是PowerBI动态管理视图(DMV)的集成应用,可以让我们了解数据模型详细信息,比如:有多少表、多少列、都耗费多少资源、关系有哪些、层次结构有哪些、度量值有哪些、计算列有哪些等等,我们通过它了解到数据模型详细信息后,再遵循第一部分的建议,就非常清楚,该怎么去优化模型了。

总结:模型的优化是一个通用性、开放性的问题,如果机器性能非常棒,差的模型也能很流畅的运行,但要是模型做了最大优化,再加上高性能的机器,岂不是更好!
以上就是鄙人的一些观点,不当之处还望批评指正!
(正文结束)
广告:
1、本文所涉及的示例数据以及案例,请在知识星球“PowerBI有问必答”同名主题中下载。
2、同步详细视频已更新至网易云课堂与51CTO课堂《高级篇:DAX精讲》课程中,包含2节视频,共计40分钟。
3、点击“阅读原文”可直接跳转至网校。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)