背景
数据集过大,尤其是在电脑配置不怎么高的情况下,Power BI desktop的刷新过程往往是漫长的,很多时候往往卡在这里不动了:
比较中肯的建议是:换电脑!
本地刷新使用小表,云端刷新使用大表。
即,在本地运行desktop时使用较小的数据集制作模型,修改模型,一旦发布到service,将数据集切换到大数据集,利用云端高效的服务器进行刷新并计算。
过程
本文先以从本地获取文件夹为例:
比如此处有两个文件夹,【数据表】和【数据表-小】:
【数据表】内有360个文件:
而【数据表-小】中只有2个文件:
数据量不可同日而语。
本地制作powerbi报告时,我首先使用【数据表-小】这个文件夹,并且文件夹路径是通过设置一个参数来实现:
因此获取文件夹时就使用这个参数:
测试了一下当前的刷新速度,很快,几秒钟时间;
将参数改为【数据表】,在我的3700X 32G内存电脑上刷新了4分钟左右;而在另一台联想低配一体机上从开始写这篇文章开始到现在接近10分钟了还没刷新完。
继续写着,等等它!
然后制作报告,并发布成功!
接下来我们到云端,刷新一下,看看时间,12秒还是很快的:
我们在数据集的设置中找到这里的参数:
将其改为【数据表】,并应用:
云端刷新一下,接近4分钟:
基本上与我的3700X计算速度差不多。而此时一体机刚刚结束本地刷新,差不20分钟。
结论
通过参数改变数据的文件夹路径,可以有效地节省本地desktop上编辑模型时熟悉数据所需的时间,从而让我们更加从容地将主要精力放在模型的建设本身。
悬念
本文解决的是文件夹形式的数据源。那么如果不是这种类型的呢?比如onedrive for business上的文件夹,或者数据库又该如何去做呢?