本文的目的
发生的事件在更新 Power BI 报告的数据时花费了异常长的时间(相对于要读取的文件的大小)。报表的数据源是放置在 SharePoint Online 库中的 EXCEL 文件。
经过调查,我在一个意想不到的地方发现了原因,所以我将它与解决方案一起留在备忘录中。
本文的结论
先写结论,
使用 Power BI 访问 SharePoint 中的文件时,
- “SharePoint 文件夹”连接器是获取现场所有文件采取行动
- 而“EXCEL Book”连接器是直接命中获取特定文件采取行动
- 因此,如果您的 SharePoint 网站中有大量文件,使用“EXCEL 工作簿”连接器可能有助于减少加载延迟。
一个简单的说明如下。
比较验证
这次我要做的是读取存储在 SharePoint 库中的特定 EXCEL 文件并创建 Power BI 报表。但是,假设 SharePoint 中存储了超过 100,000 个数据项。
这时,我们比较了“SharePoint 文件夹”连接器和“EXCEL 书”连接器之间的区别。
1.“SharePoint 文件夹”连接器
尝试使用“SharePoint 文件夹”连接器读取目标文件。由于站点的根 URL 被传递到 SharePoint 文件夹连接器,因此,获取并显示了站点中包含的所有数据的元数据(文件名、扩展名等)。
这次我在库中创建了大量文件用于测试目的。文件总数约为 125,000 个。这次创建的csv是一个几乎是空的虚拟文件。
要读取的文件是1列2行记录的EXCEL数据。
目前,数据还以视觉对象的形式显示在报表上,并作为报表发布到 Power BI 服务。尝试在 Power BI 服务端更新已发布报表的数据。更新耗时 105 秒(不到 2 分钟)。
2.“EXCEL书”连接器
接下来,尝试使用“EXCEL book”连接器读取目标文件。这种情况下,首先需要获取相关EXCEL文件的URL。该 URL 使用“使用应用程序打开”从 SharePoint 打开文件,
您可以通过从打开的 EXCEL 菜单中选择“信息”并选择“复制路径”来获取它。请注意,字符串“?web=1”附加在 URL 的末尾,但应该删除。
之后,您可以通过使用“EXCEL book”连接器指定 URL 来直接读取文件。
同样,当我发布到 Power BI Service 并更新数据时,这次更新在 3 秒内完成。
结论
“SharePoint 文件夹”连接器有一个步骤可以获取站点中的所有文件,因此站点中有许多文件会对性能产生负面影响。作为一种解决方法,通过使用“EXCEL book”连接器,可以直接访问目标文件,从而提高了性能。实际的,对于拥有大约 125,000 个文件的站点,更新时间已从大约 2 分钟大幅缩短到 3 秒。我们可以。
这一次,只加载了一个文件,但实际上,通常应该使用 SharePoint 中的多个文件来创建报表。在这种情况下,上述影响也与读取文件的数量成比例增加,因此它可能成为一个相当关键的问题。
当文件数量像这次这样非常大时很容易注意到,但我想记住,站点中的文件数量会影响性能,即使它不那么明显。
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308629699.html