概要
| 条目 | DESCRIPTION |
|---|---|
| 发布状态 | 一般可用性 |
| 产品 | Excel Power BI (语义模型) Power BI (数据流) Fabric(Dataflow Gen2) Power Apps(数据流) Dynamics 365 Customer Insights Analysis Services |
| 支持的身份验证类型 | 匿名 Windows (需要网关) 基本(需要网关) 网络应用程序接口 组织帐户 |
| 功能参考文档 | 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 服务的根目录。 例如,输入
https://services.odata.org/V4/northwind/northwind.svc/。 然后选择“ 确定”。
如果输入的 URL 地址无效,
URL 文本框旁边会显示一个警告图标。如果首次使用 OData 源进行连接,请选择身份验证类型,输入凭据(如有必要),然后选择应用身份验证设置的级别。 然后选择连接。
在 “导航器 ”对话框中,可以选择表,然后通过选择“ 转换数据”转换 Power Query 编辑器中的数据,或者通过选择“ 加载”加载数据来转换数据。
如果有多个表与一个或多个已选择的表有直接关系,则可以选择“ 选择相关表 ”按钮。 当您这样做时,将同时导入与一个或多个已选定表直接相关的所有表。
在 Power Query Online 中从 OData 源中加载数据
若要从 OData 源中将数据加载到 Power Query Online,
在获取数据界面中选择 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 和其他 Web 连接器的体系结构,联接速度可能很慢。 连接速度缓慢有时可能导致源连接失败,从而导致“远程主机强行关闭现有连接”等错误。 虽然可以选择在 OData 源中的表之间合并时使用导航列,但与非 OData 源合并时没有此选项。 如果在合并 OData 或 Web 源时看到此类问题,并且无法改用导航列,则应在合并数据之前将 Table.Buffer 应用于高级编辑器中的查询。
建议缓冲要合并的较小查询,以优化性能。 还可以尝试切换联接中的查询顺序以优化查询。
测试连接问题
如果你向 OData 连接器传递的 URL 不仅仅是服务根(例如,URL 上有筛选器),当你在服务中设置刷新时,应该选择 跳过测试连接。
在 Power BI 服务中输入 OData 服务的凭据(例如,发布使用 OData.FeedPBIX 后),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 长度约为 2,100 个字符。 超出字符限制会导致 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...")