冲刺燃尽示例报告
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
冲刺燃尽图表可用于监视团队在冲刺计划上的执行情况。 多个内置图表和仪表板小组件支持监视冲刺进度。 请参阅 配置和监视冲刺燃尽。
但是,可以使用分析和 Power BI 以及本文中提供的查询自定义冲刺燃尽图表。 以下示例演示用户情景及其状态的燃尽。
重要
- 删除 区域路径 或重新配置 迭代路径 会导致不可逆的数据丢失。 例如,具有已更改 区域路径 的团队的冲刺烧毁和速度图表不会显示准确的数据。 历史趋势图引用 区域路径 和 迭代路径 ,因为它们是在每次为工作项定义的。 删除后,无法检索这些路径的历史数据。
- 只能删除任何工作项不再使用的区域和迭代路径。
有关烧毁和烧毁的详细信息,以及 烧毁和烧毁指南。
注意
本文假设你阅读 了使用 OData 查询 的示例报表概述,并基本了解 Power BI。
先决条件
- Access:至少是具有基本访问权限的项目的成员。
- 权限: 默认情况下,项目成员有权查询 Analytics 和创建视图。
- 有关服务和功能启用和常规数据跟踪活动的其他先决条件的详细信息,请参阅 访问 Analytics 的权限和先决条件。
示例查询
燃尽图表需要查询 WorkItemSnapshot
实体集以获取历史数据。
注意
若要确定用于筛选或报表的可用属性,请参阅Azure Boards元数据参考。 可以使用 提供的 EntitySet
或 NavigationPropertyBinding Path
值下EntityType
的任何Property
值筛选查询或返回属性。 每个对应 EntitySet
一个 EntityType
。 有关每个值的数据类型的详细信息,请查看为相应 EntityType
值提供的元数据。
区域路径和当前迭代的燃尽用户情景
将以下 Power BI 查询直接复制并粘贴到 “获取数据>空白查询” 窗口中。 有关详细信息,请参阅 使用 OData 查询的示例报告概述。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
&"$apply=filter( "
&"WorkItemType eq 'User Story' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and StateCategory ne 'Completed' "
&"and DateValue ge Iteration/StartDate "
&"and DateValue le Iteration/EndDate "
&"and Iteration/StartDate le now() "
&"and Iteration/EndDate ge now() "
&") "
&"/groupby( "
&"(DateValue,State,WorkItemType,Priority,Area/AreaPath,Iteration/IterationPath), "
&"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
替换字符串和查询明细
将以下字符串替换为值。 不要在替换中包含括号 {} 。 例如,如果组织名称为“Fabrikam”,请将 替换为 {organization}
Fabrikam
,而不是 {Fabrikam}
。
{areapath}
- 区域路径。 示例格式:Project\Level1\Level2
。
查询明细
下表描述了查询的每个部分。
查询部件
说明
$apply=filter(
Start filter ()
WorkItemType eq 'User Story'
用户情景的燃尽
and startswith(Area/AreaPath,'{areapath}')
特定区域路径下的工作项。 将 替换为 Area/AreaPath eq '{areapath}'
将返回特定区域路径中的项。
若要按团队名称进行筛选,请使用 filter 语句 Teams/any(x:x/TeamName eq '{teamname})'
and StateCategory ne 'Completed'
筛选出已完成的项目。 有关状态类别的详细信息,请参阅如何在积压工作和板上使用 工作流状态和状态类别 。
and DateValue ge Iteration/StartDate
迭代开始时开始趋势。
and DateValue le Iteration/EndDate
迭代结束时的结束趋势。
and Iteration/StartDate le now()
选择“当前迭代”。
and Iteration/EndDate ge now()
选择当前迭代
)
关闭筛选器 ()
/groupby(
Start groupby ()
(DateValue, State, WorkItemType, Priority, Area/AreaPath, Iteration/IterationPath),
按 DateValue 分组 (用于趋势) 以及要报告的任何字段
aggregate($count as Count, StoryPoints with sum as TotalStoryPoints)
按用户情景计数和故事点数的总和进行聚合
)
关闭 groupby ()
团队和当前迭代的燃尽用户情景
此查询与上述查询相同,只不过它按团队名称而不是区域路径筛选。
将以下 Power BI 查询直接复制并粘贴到 “获取数据>空白查询” 窗口中。 有关详细信息,请参阅 使用 OData 查询的示例报告概述。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
&"$apply=filter( "
&"WorkItemType eq 'User Story' "
&"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
&"and StateCategory ne 'Completed' "
&"and DateValue ge Iteration/StartDate "
&"and DateValue le Iteration/EndDate "
&"and Iteration/StartDate le now() "
&"and Iteration/EndDate ge now() "
&") "
&"/groupby( "
&"(DateValue,State,WorkItemType,Priority,Area/AreaPath,Iteration/IterationPath), "
&"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
自一年开始以来所有冲刺的燃尽用户情景
你可能想要在单个报表中查看所有冲刺的进度。 自 2022 年初以来,这些查询会提取所有冲刺消耗量和故事点。
将以下 Power BI 查询直接复制并粘贴到 “获取数据>空白查询” 窗口中。 有关详细信息,请参阅 使用 OData 查询的示例报告概述。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
&"$apply=filter( "
&"WorkItemType eq 'User Story' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and StateCategory ne 'Completed' "
&"and DateValue ge Iteration/StartDate "
&"and DateValue le Iteration/EndDate "
&"and Iteration/StartDate ge 2022-01-01Z "
&") "
&"/groupby( "
&"(DateValue,Iteration/EndDate,Area/AreaPath,Iteration/IterationPath,State,WorkItemType,Priority,AreaSK), "
&"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
燃尽任务和剩余工时
将以下 Power BI 查询直接复制并粘贴到 “获取数据>空白查询” 窗口中。 有关详细信息,请参阅 使用 OData 查询的示例报告概述。
Doc-ready Power BI Query (anonymized)
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
&"$apply=filter( "
&"startswith(Area/AreaPath,'{project}') "
&"and StateCategory ne 'Completed' "
&"and DateValue ge Iteration/StartDate "
&"and DateValue le Iteration/EndDate "
&"and Iteration/StartDate le now() "
&"and Iteration/EndDate ge now() "
&"and WorkItemType eq 'Task' "
&") "
&"/groupby( "
&"(DateValue,State,WorkItemType,Activity,Priority,Area/AreaPath,Iteration/IterationPath,AreaSK), "
&"aggregate($count as Count, RemainingWork with sum as TotalRemainingWork) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
(可选) 重命名查询
可以将默认查询标签 Query1 重命名为更有意义的标签。 只需在 “查询设置” 窗格中输入新名称。
展开 Power Query 编辑器 中的列
在创建报表之前,需要展开返回包含多个字段的记录的列。 在此实例中,需要展开以下记录:
Area
Iteration
AssignedTo
若要了解如何展开工作项,请参阅 转换分析数据以生成 Power BI 报表。
关闭查询并应用更改
完成所有数据转换后,从“开始”菜单中选择“关闭和应用”以保存查询并返回到 Power BI 中的“报表”选项卡。
创建堆积柱形图报表
在 Power BI 中,选择“可视化效果”下的“堆积柱形图”报表。
添加到
DateValue
X 轴,右键单击并选择DateValue
,而不是Date Hierarchy
添加到
Count
Y 轴。添加到
State
Y 轴。
示例报表,显示故事点和故事计数的燃尽。