导入 SharePoint 和 OneDrive for Business 文件
Power Query 提供了访问 SharePoint 或 OneDrive for Business 上托管文件的一系列方法。
浏览文件
注意
目前,只能在 PowerApps 的 Power Query Online 中浏览已验证身份用户的 OneDrive for Business 文件。
警告
该功能要求浏览器支持使用第三方 cookie。 如果浏览器已阻止第三方 Cookie,将显示“浏览”对话框,但该对话框将完全为空白,没有关闭对话框的选项。
使用以下任何连接器在 PowerApps 中创建数据流时,Power Query 会在文件路径或 URL 文本框旁边提供“浏览 OneDrive”按钮:
选择此按钮后,系统会提示你完成身份验证。 完成此过程后,将显示一个新窗口,其中包含已验证身份用户的 OneDrive for Business 中的所有文件。
可以选择所选的文件,然后选择“打开”按钮。 选择“打开”后,将返回到初始连接设置页面,你将看到“文件路径或 URL”文本框中现在包含了从 OneDrive for Business 中选择的文件的确切 URL。
可以选择窗口右下角的“下一步”按钮,继续处理并获取数据。
使用文件 URL 从 Web 连接器
使用浏览器导航到 OneDrive for Business 位置。 右键单击要使用的文件,然后选择“在 Excel 中打开”。
注意
浏览器界面可能看起来不完全如下图所示。 有许多方法可以在 OneDrive for Business 浏览器界面中选择“在 Excel 中打开”文件。 可使用任何允许你在 Excel 中打开文件的选项。
在 Excel 中,选择“文件>信息”,然后选择“复制路径”按钮。
若要使用刚在 Power Query 中复制的链接,请执行以下步骤:
选择获取数据> Web。
在“从 Web”对话框中,选择“基本”选项并将链接粘贴到 URL 中。
删除链接末尾的 ?web=1 字符串,以便 Power Query 可以正确导航到文件,然后选择“确定”。
如果 Power Query 提示输入凭据,请选择 Windows(适用于本地 SharePoint 网站)或组织帐户(适用于 Microsoft 365 或 OneDrive for Business 网站)。 然后选择“连接”。
注意
处理 OneDrive for Home 上托管的文件时,要连接到的文件必须是公开可用的。 设置此连接的身份验证方法时,请选择“匿名”选项。
出现“导航器”对话框时,可以从 Excel 工作簿中找到的表、工作表和区域列表中进行选择。 此处,可以像使用任何其他 Excel 文件一样使用 OneDrive for Business 文件。 你可以创建报表并将其用于数据集,就像处理任何其他数据源一样。
注意
若要将 OneDrive for Business 文件用作 Power BI 服务中的数据源,并为该文件启用“服务刷新”,请确保在配置刷新设置时选择 OAuth2 作为身份验证方法 。 否则,当尝试连接或刷新时,可能会遇到错误(例如,无法更新数据源凭据)。 选择 OAuth2 作为身份验证方法可纠正该凭据错误。
SharePoint 文件夹连接器
可以在 SharePoint 文件夹一文中阅读有关如何连接 SharePoint 网站托管文件的详细分步指南。
成功建立连接后,系统会提示你进行表预览,其中显示了 SharePoint 网站中的文件。 选择窗口右下方的“转换数据”按钮。
选择“转换数据”按钮,可查看名为“文件系统视图”的数据。 此表中的每一行都代表在 SharePoint 网站中找到的文件。
该表具有名为“内容”的列,其中包含二进制格式的文件。 “内容”列中的值的颜色不同于表其他列中的其余值,表示这些值是可选的。
通过在“内容”列中选择“二进制”值,Power Query 会自动在查询中添加一系列步骤,以导航到文件并尽可能解释其内容。
例如,从上图中显示的表中,可以选择“名称”字段值为 02-February.csv 的第二行。 Power Query 将自动创建一系列步骤,以导航并将文件内容解释为 CSV 文件。
注意
在导航到所选文件之前,可以通过应用筛选器、排序和其他转换与表进行交互。 完成这些转换后,选择要查看的“二进制”值。
OneDrive for Business 体验
SharePoint 文件夹连接器及其体验也适用于 OneDrive for Business 上托管的文件。 但是,需要使用的 URL 与要用于 SharePoint 网站的 URL不同。 若要查找唯一 URL,请前往 OneDrive for Business 门户,并从浏览器复制 URL。 此 URL 可能如以下示例所示:
https://contoso-my.sharepoint.com/personal/user123_contoso_com/_layouts/15/onedrive.aspx
不需要完整的 URL,只需要前几个部分。 在 Power Query 中使用的 URL 具有以下格式:
https://<unique_tenant_name>.sharepoint.com/personal/<user_identifier>
例如:
https://contoso-my.sharepoint/personal/user123_contoso_com
SharePoint.Contents 函数
通过 SharePoint 文件夹连接器,可以一次性查看 SharePoint 或 OneDrive for Business 站点中的所有可用文件,也可以选择其他体验。 在此体验中,可以浏览 SharePoint 或 OneDrive for Business 文件夹,找到感兴趣的文件夹或文件。
此体验通过 SharePoint.Contents
函数提供。 请按以下步骤使用该功能:
创建空白查询。
将编辑栏中的代码更改为
SharePoint.Contents("url")
,其中url
与 SharePoint 文件夹连接器所用的相同格式。 例如:SharePoint.Contents("https://contoso.sharepoint.com/marketing/data")
注意
默认情况下,此函数会尝试使用 SharePoint API 版本 14 进行连接。 如果不确定 SharePoint 网站正在使用的 API 版本,可能需要尝试使用以下示例代码:
SharePoint.Contents("https://contoso.sharepoint.com/marketing/data", [ApiVersion="Auto"])
Power Query 会要求为连接添加验证方法。 使用与 SharePoint 文件连接器相同的身份验证方法。
导航到你感兴趣的特定文件夹或文件的不同文档。
例如,假设 SharePoint 网站包含“共享文档”文件夹。 可以在该文件夹的“内容”列中选择“表”值,并直接导航到该文件夹。
在此“共享文档”文件夹中,有一个公司存储所有销售报表的文件夹。 此文件夹名为“销售报表”。 可以为该行选择“内容”列上的“表”值。
使用“销售报表”文件夹中的所有文件,可以选择“合并文件”按钮(请参阅“合并文件概述”),将此文件夹中所有文件的数据合并到单个表。 或者,可以通过从“内容”列中选择“二进制”值直接导航到所选的单个文件。
注意
SharePoint.Contents
函数提供的体验最适合具有大量文件的 SharePoint 和 OneDrive for Business 环境。