查询趋势数据
Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019
检查数据趋势和进行周期内比较是报告和数据分析的重要方面。 Analytics 支持这些功能。
注意
分析服务在所有 Azure DevOps Services 的生产中自动启用和支持。
Power BI 集成 以及对 Analytics Service OData 源的访问权限已正式发布。 我们鼓励你使用它并提供反馈。
可用数据依赖于版本。 支持的最新版本 v2.0
,最新的预览版本 v4.0-preview
。 有关详细信息,请参阅 OData API 版本控制。
注意
Azure DevOps Server 2020 及更高版本的所有新项目集合在生产环境中会自动安装并支持 Analytics 服务。 Power BI 集成 以及对 Analytics 服务的 OData 源 访问权限已正式发布。 我们鼓励你使用它并提供反馈。 如果从 Azure DevOps Server 2019 升级,则可以在升级期间安装 Analytics 服务。
可用数据依赖于版本。 支持的最新版本 v2.0
,最新的预览版本 v4.0-preview
。 有关详细信息,请参阅 OData API 版本控制。
注意
Analytics 服务为 Azure DevOps Server 2019 提供预览版。 可以 为项目集合启用或安装它。 Power BI 集成 和对分析服务的 OData 源 的访问权限目前处于预览状态。 我们鼓励你使用它并提供反馈。
可用数据依赖于版本。 支持的最新版本 v2.0
,最新的预览版本 v4.0-preview
。 有关详细信息,请参阅 OData API 版本控制。
趋势数据在 WorkItemSnapshot 和 WorkItemBoardSnapshot 实体集中公开。 它们的构造方式是为了确保每个工作项从创建之日至今的每天都存在。 对于一年前只创建一个工作项的组织,此实体中有 365 行。 在大型项目中,使用这些实体与客户端工具配合是不切实际的。
解决方案是什么? 使用 聚合扩展。
使用 OData 聚合扩展,可以从 Azure DevOps 返回有利于报告的聚合数据。 例如,可以显示 3 月的 bug 趋势。 Bug 趋势是管理任何项目的常见和关键部分,因此你可以将其立即用于良好使用。
备注
本文档中显示的示例基于 Azure DevOps Services URL。 根据需要替换 Azure DevOps Server 的网址。
https://{servername}:{port}/tfs/{OrganizationName}/{ProjectName}/_odata/{version}/
先决条件
类别 | 要求 |
---|---|
访问级别 |
-
Project 成员。 - 至少 基本 访问权限。 |
权限 | 默认情况下,项目成员有权查询 Analytics 和创建视图。 有关服务和功能启用和常规数据跟踪活动的其他先决条件的详细信息,请参阅 访问 Analytics的权限和先决条件。 |
创建趋势数据的基本查询
若要有效地查询 WorkItemSnapshot 表,请遵循以下基本要求:
- 按日期筛选数据。
- 按至少日期对聚合进行分组。 否则,响应将包含警告。
创建缺陷趋势报表的查询如下示例所示:
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
$apply=
filter(DateValue ge 2016-03-01Z and DateValue le 2016-03-31Z and WorkItemType eq 'Bug')/
groupby((DateValue,State), aggregate($count as Count))
&$orderby=DateValue
它返回类似于以下示例的结果:
{
"@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
"value": [
{
"@odata.id": null,
"State": "Active",
"DateValue": "2016-03-01T00:00:00-08:00",
"Count": 2666
},
{
"@odata.id": null,
"State": "Closed",
"DateValue": "2016-03-01T00:00:00-08:00",
"Count": 51408
}
]
}
此查询最多生成 31 * (number of bug states)
。 默认 bug 有三种状态:
- 活跃
- 已解决
- 关闭
大多数情况下,无论实际存在数千条记录,此查询都会返回 93 行。 它提供更紧凑的形式返回数据。
让我们看一下此示例的变体。 您希望查看从一个迭代开始并以另一个迭代结束的迭代或发布的 bug 趋势。
若要构造该查询,请执行以下示例:
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
$apply=
filter(WorkItemType eq 'Bug')/
filter(Iteration/IterationName eq 'Sprint 99')/
filter(DateValue ge Iteration/StartDate and (Iteration/EndDate eq null or DateValue le Iteration/EndDate))/
groupby((DateValue, State), aggregate($count as Count))
&$orderby=DateValue
它返回类似于以下示例的结果:
{
"@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
"value": [
{
"@odata.id": null,
"State": "Active",
"DateValue": "2016-04-04T00:00:00-07:00",
"Count": 320
},
{
"@odata.id": null,
"State": "Closed",
"DateValue": "2016-04-04T00:00:00-07:00",
"Count": 38
}
]
}
在此查询中,有两个关键差异。 我们添加了一个筛选器子句,用于将数据筛选到特定迭代,现在将日期与迭代开始和结束日期进行比较,而不是硬编码日期。
注意
如果对快照表的查询不使用聚合,响应将显示警告:“指定的查询不包含建议用于所有查询的 $select
或 $apply
子句。
相关文章
- 构造聚合数据查询 对相关数据组进行计数和分析。