Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
若要将数据拉取到 Power BI 中,建议使用开放数据协议 (OData) 查询。 OData 是由结构化信息标准组织(OASIS)建立的标准,并由国际标准化组织和国际伊克委员会(ISO/IEC)批准。 OData 定义了生成和使用 REST API 的最佳做法。 有关详细信息,请参阅 OData 文档。
若要快速开始,请参阅 使用 OData 查询的示例报表概述。 有关其他方法的信息,请参阅 关于 Power BI 集成。
Power BI 可以运行 OData 查询,该查询可将筛选或聚合的数据集返回到 Power BI。 OData 查询具有两个优点:
- 所有筛选都是服务器端完成的。 仅返回所需的数据,这会导致刷新时间缩短。
- 可以在服务器端预聚合数据。 OData 查询可以执行聚合,例如工作项汇总和构建失败率。 聚合是服务器端完成的,并且仅将聚合值返回到 Power BI。 通过使用预聚合,可以跨大型数据集执行聚合,而无需将所有详细数据拉取到 Power BI 中。
在本教程中,你将:
- 编写和测试 OData 查询。
- 从 Power BI 运行 OData 查询。
先决条件
| 类别 | 要求 |
|---|---|
| 访问级别 |
-
项目成员。 - 至少具有基本访问权限。 |
| 权限 | 默认情况下,项目成员有权查询 Analytics 和创建视图。 有关服务和功能启用和常规数据跟踪活动的其他先决条件的详细信息,请参阅 访问 Analytics 的权限和先决条件。 |
使用 Visual Studio Code 编写和测试 OData 查询
编写和测试 OData 的最简单方法是将 Visual Studio Code 与 OData 扩展配合使用。 Visual Studio Code 是 Windows、Mac 和 Linux 上可用的免费代码编辑器。 OData 扩展提供语法突出显示和其他可用于编写和测试查询的函数。
安装 Visual Studio Code 和 OData 扩展
打开 Visual Studio Code,选择“扩展”,然后搜索 odata。 在结果列表中,选择 vscode-odata,然后安装此扩展。
在 Visual Studio Code 中,通过创建扩展名为 .odata 的空文件来创建 OData 文件。 你可以将其命名为所需的任何名称,例如 filename.odata。 但它必须具有 .odata 扩展才能启用 OData 扩展功能。
编写 OData 查询
编写 OData 查询。 有关示例查询,请参阅 使用 OData 查询的示例报表概述。
以下查询返回特定区域路径下的前 10 个工作项。 要使用该查询,请将{organization}、{project}和{area path}替换为您的值。
https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?
$select=WorkItemId,Title,WorkItemType,State,CreatedDate
&$filter=startswith(Area/AreaPath,'{area path}')
&$orderby=CreatedDate desc
&$top=10
若要跨项目查询,请完全省略 /{project} 。
有关详细信息,请参阅 示例报表和快速参考索引。
在 Visual Studio Code 中编写查询后,应会看到语法突出显示。
测试 OData 查询
若要测试 OData 查询,请将光标置于查询文本中的任意位置,然后选择“ 查看>命令面板”。
在搜索框中,输入 odata 以显示 OData 命令。
选择 OData:打开。 此作将多行查询合并为一行 URL,运行查询,并在默认浏览器中打开结果。
验证查询是否正常工作后,可以从 Power BI 运行它。
从 Power BI 运行 OData 查询
若要从 Power BI 运行 OData 查询,请执行以下步骤。
将多行 OData 查询合并为单行查询
在 Power BI 中使用查询之前,必须将多行 OData 查询转换为单行查询。 若要使用 OData: Combine 命令用于此目的,请执行以下步骤:
创建包含多行查询文本的 OData 文件的副本。 建议执行此步骤,因为无法将单行查询转换回可读的多行查询。
在 Visual Studio Code 中,打开 OData 文件的副本,并将光标放在查询文本中的任意位置。
选择查看>命令面板。 在搜索框中,输入 odata。 然后在结果列表中,选择 “OData:合并”。
多行查询将转换为单行查询。
复制整个行,以便在下一部分使用。
从 Power BI 运行查询
在 Power BI 中,选择获取数据>OData 源。 有关详细信息,请参阅 使用 OData 查询创建 Power BI 报表。
在 OData 源 窗口中的 URL 框中,粘贴在上一部分中复制的 OData 查询,然后选择“ 确定”。
Power BI 显示预览页。
指定查询选项
在预览页上,选择“ 转换数据 ”以打开 Power Query 编辑器。
在功能区上,选择 “高级编辑器”。
在“高级编辑器”窗口中,水平滚动以查看
[Implementation="2.0"]查询中的参数。
用以下字符串替换
[Implementation="2.0"]:[Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]
此更改有助于防止限制错误。 新值具有以下效果:
- 它们指示 Power BI 引用 OData 版本 4。
- 它们指示 Analytics 服务省略 null 的任何值,从而提高查询性能。
Power Query 试图通过为遇到的每个 null 值生成另一个查询来将 null 值解析为错误。 此操作可能会导致数千个查询。 这些查询可能迅速超过使用阈值,从而导致用户帐户受到限制。
选择“完成”关闭高级编辑器并返回到 Power BI Power Query 编辑器。 可以使用Power Query 编辑器执行以下可选操作:
- 将
Query1查询重命名为更具体的内容。 - 将列转换为特定类型。 Power BI 会自动检测类型,但可能需要将列转换为特定数据类型。
- 添加计算列。
- 删除列。
- 将列展开为特定字段。
- 将
使用数据创建报表
选择“ 关闭并应用 ”以保存设置并将数据拉取到 Power BI 中。 数据刷新后,可以像在 Power BI 中一样创建报表。