OData 源
总结
项目 | 说明 |
---|---|
发布状态 | 正式版 |
产品 | Excel Power BI(语义模型) Power BI(数据流) Fabric(数据流 Gen2) Power Apps(数据流) Dynamics 365 Customer Insights Analysis Services |
支持的身份验证类型 | 匿名 Windows(需要网关) 基本(需要网关) Web API 组织帐户 |
函数参考文档 | OData.Feed、ODataOmitValues.Nulls |
注意
由于部署计划和特定于主机的功能,某些功能可能只存在于一个产品中。
支持的功能
- 基本
- 高级
- URL 部分
- 打开类型列
- 选择相关表
注意
Microsoft Graph 不受支持。 详细信息:Power Query 中缺少对 Microsoft Graph 的支持
在 Power Query Desktop 中从 OData 源加载数据
要在 Power Query Desktop 中从 OData 源加载数据:
在“获取数据”体验中选择“OData”或“OData 源”。 Power Query Desktop 中的“获取数据”体验因应用而异。 要详细了解适用于你的应用的 Power Query Desktop“获取数据”体验,请转到在何处获取数据。
选择基本按钮,然后在文本框中输入 URL 地址。 此 URL 应是要连接到的 OData 服务的根目录。 例如,输入
http://services.odata.org/V4/northwind/northwind.svc/
。 然后选择确定。如果输入的 URL 地址无效,则会在 URL 文本框旁边显示 警告图标。
如果这是首次使用 OData 源进行连接,请选择身份验证类型,输入凭据(如有必要),然后选择应用身份验证设置的级别。 然后选择“连接”。
在导航器对话框中,可以选择表,然后通过选择转换数据在 Power Query 编辑器中转换数据,或者通过选择加载加载数据。
如果有多个表与一个或多个已选择的表存在直接关系,则可以选择选择相关表按钮。 执行此操作时,还将导入与一个或多个已选定表存在直接关系的所有表。
在 Power Query Online 中从 OData 源加载数据
要在 Power Query Online 中从 OData 源加载数据:
在“获取数据”体验中选择“OData”或“OData 源”选项。 不同的应用通过不同的方式来使用 Power Query Online“获取数据”体验。 要详细了解如果从你的应用访问 Power Query Online“获取数据”体验,请转到在何处获取数据。
在显示的 OData 对话框中,在文本框中输入 URL。
如果这是首次使用 OData 源进行连接,请选择身份验证类型并输入凭据(如有必要)。 然后选择“下一步”。
在导航器对话框中,可以选择一个表,然后通过选择转换数据在 Power Query 编辑器中转换数据。
如果有多个表与一个或多个已选择的表存在直接关系,则可以选择选择相关表按钮。 执行此操作时,还将导入与一个或多个已选定表存在直接关系的所有表。
连接到 Microsoft Graph
不建议或支持从 Power Query 连接到 Microsoft Graph REST API。 详细信息:Power Query 中缺少对 Microsoft Graph 的支持
已知问题和限制
联接
由于 OData 和其他 Web 连接器的体系结构,联接可能会表现不佳。 虽然可以选择在 OData 源中的表之间合并时使用导航列,但与非 Odata 源合并时没有此选项。
如果在合并 OData 源时发现性能问题,则应在合并数据之前,在高级编辑器中将 Table.Buffer 应用到 OData 查询。
测试连接问题
如果将 URL 传递到不仅仅是服务根(例如,在 URL 上设置了筛选器)的 OData 连接器,则在服务中设置刷新时,应选择跳过测试连接。
在 Power BI 服务中输入 OData 服务的凭据(例如,发布使用 OData.Feed
的 PBIX 后),Power BI 服务将测试凭据,但会忽略 M 查询中指定的任何查询选项。 这些查询选项可能已直接在公式中指定(例如,使用编辑栏或高级编辑器),或者默认已由 Power Query 编辑器添加。 可以在 OData.Feed 中找到这些查询选项的完整列表。
对任意服务进行身份验证
某些服务支持 OData 连接器直接使用 OAuth/Microsoft Entra ID 身份验证进行身份验证的功能。 但是,大多数情况下不能这么做。
尝试进行身份验证时,如果发生以下错误:
We were unable to connect because this credential type isn’t supported for this resource. Please choose another credential type.
请联系服务所有者。 他们需要更改身份验证配置或生成自定义连接器。
最大 URL 长度
如果使用 OData 源连接器连接到 SharePoint 列表、SharePoint Online 列表或 Project Online,则这些连接的最大 URL 长度约为 2100 个字符。 超出字符限制会导致出现 401 错误。 此最大 URL 长度内置于 SharePoint 前端中,无法更改。
要绕过此限制,请从根 OData 端点开始,然后在 Power Query 内导航和筛选。 当 URL 太长导致 SharePoint 无法处理时,Power Query 会在本地筛选此 URL。 例如,始于:
OData.Feed("https://contoso.sharepoint.com/teams/sales/_api/ProjectData")
而不是
OData.Feed("https://contoso.sharepoint.com/teams/sales/_api/ProjectData/Projects?select=_x0031_MetricName...etc...")