(CFD) 示例报表的累积流程图

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

本文介绍如何显示指定团队的故事CFD。 还可以通过内置图表和仪表板小组件获取此数据。 有关这些选项的详细信息,请参阅 “查看和配置累积流图”。

下图显示了一个示例,其中显示了“正在研究”、“提交”、“正在进行”和“审阅”状态中的用户情景计数。 将鼠标悬停在日期上可提供该日期的数据信息。

Power BI 累积流堆积面积图报表的屏幕截图,列按板列顺序排序。

有关累积流的详细信息,请参阅 累积流、潜在顾客时间和周期时间指南 以及 累积流、潜在顾客时间和周期时间指南

注意

本文假设你阅读 了使用 OData 查询 的示例报表概述,并基本了解 Power BI。

先决条件

  • Access:至少是具有基本访问权限的项目的成员。
  • 权限: 默认情况下,项目成员有权查询 Analytics 和创建视图。
  • 有关服务和功能启用和常规数据跟踪活动的其他先决条件的详细信息,请参阅 访问 Analytics 的权限和先决条件。

示例查询

本部分中的查询支持返回用户情景的累积流数据。 这些查询指定 WorkItemBoardSnapshot 实体集,因为它们返回一段时间内为开发板计算的数据。

注意

若要确定用于筛选或报表的可用属性,请参阅Azure Boards元数据参考。 可以使用 提供的 EntitySetNavigationPropertyBinding Path 值下EntityType的任何Property值筛选查询或返回属性。 每个对应 EntitySet 一个 EntityType。 有关每个值的数据类型的详细信息,请查看为相应 EntityType值提供的元数据。

将以下 Power BI 查询直接复制并粘贴到 “获取数据>空白查询” 窗口中。 有关详细信息,请参阅 使用 OData 查询的示例报告概述。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/V3.0-preview/WorkItemBoardSnapshot?"
        &"$apply=filter( "
            &"Team/TeamName eq '{teamname}' "
            &"and BoardName eq 'Stories'  "
            &"and DateValue ge {startdate} "
        &") "
        &"/groupby( "
            &"(DateValue,ColumnName,LaneName,State,WorkItemType,AssignedTo/UserName,Area/AreaPath),  "
            &"aggregate($count as Count) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

替换字符串和查询明细

将以下字符串替换为值。 不要在替换中包含括号 {} 。 例如,如果组织名称为“Fabrikam”,请将 替换为 {organization}Fabrikam,而不是 {Fabrikam}

  • {organization} - 组织名称
  • {project} - 对于跨项目查询,团队项目名称或完全省略“/{project}”
  • {teamname} - 显示CFD数据的团队的名称
  • {startdate}- 在给定日期或给定日期之后启动报表,格式为: YYYY-MM-DDZ 例如: 2022-04-01Z 表示 2022-April-01。 不要用引号引起来。

查询明细

下表描述了查询的每个部分。

查询部件

描述


$apply=filter(

Start filter() 子句。

Team/TeamName eq '{teamname}'

返回特定团队的项目。

and BoardName eq 'Stories'

返回故事积压工作上的项。 可以指定其他积压工作名称,例如 EpicsFeatures。 指定与为项目选择的进程对应的积压工作级别。

and DateValue ge {startdate}

返回指定日期或之后的数据, 例如,2022-04-01Z 表示 2022-April-01 2019-7-01。

)

Close filter() 子句。

/groupby(

Start groupby() 子句。

(DateValue, ColumnName, LaneName, State, WorkItemType,AssignedTo/UserName,Area/AreaPath),

分组依据 DateValue (用于趋势), ColumnName以及要报告的任何其他属性。 在这里,我们包括 LaneName 通过泳道启用筛选。

aggregate($count as Count)

聚合为工作项计数。

)

Close groupby() 子句。

(可选) 重命名查询

可以将默认查询标签 Query1 重命名为更有意义的标签。 只需在 “查询设置” 窗格中输入新名称。

Power BI 查询菜单选项的屏幕截图,重命名查询。

展开 Power Query 编辑器 中的列

从Power Query 编辑器中,选择包含要转换的数据的查询。 对于CFD图表,需要展开AreaIterationAssignedTo列。 若要了解如何操作,请参阅转换分析数据中的 以下部分以生成 Power BI 报表,展开列

(可选)重命名字段

展开列后,可能需要重命名一个或多个字段。 例如,可以将列 AreaPath 重命名为 Area Path。 若要了解如何操作,请参阅 “重命名列字段”。

关闭查询并应用更改

完成所有数据转换后,从“开始”菜单中选择“关闭和应用”以保存查询并返回到 Power BI 中的“报表”选项卡。

Power Query 编辑器“关闭并应用”选项的屏幕截图。

创建堆积面积图

在以下示例中,查询已重命名为 FDA,但未重命名任何列。

  1. 在 Power BI 中,选择可视化效果下的堆积面积图。

    适用于FDA 图表报表的 Power BI 可视化效果和字段选择的屏幕截图。

  2. 添加到DateValue轴,然后右键单击DateValue并选择DateValue,而不是Date Hierarchy

  3. 添加到Count

  4. 添加到ColumnName图例

  5. “筛选器 ”窗格中,展开 ColumnName并仅选择要显示在图表上的值。 例如,你可能想要取消选择“新建”、“建议”、“完成”或“已关闭”。

    ColumnName 的 Power BI 筛选器的屏幕截图。

示例报表按字母顺序显示列。 但是,首选顺序是按列顺序或渐进顺序对数据进行排序。

示例 Power BI 累积流堆积面积图报表的屏幕截图,列按字母顺序排序。

按渐进顺序对列进行排序

若要按照板上特定顺序对图表列进行排序,请执行以下步骤:

  1. 根据以下查询在 Power BI 中创建新查询。 完成后,将查询重命名为 ColumnOrder

将以下 Power BI 查询直接复制并粘贴到 “获取数据>空白查询” 窗口中。 有关详细信息,请参阅 使用 OData 查询的示例报告概述。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/V3.0-preview/BoardLocations?"
        &"$apply=filter( "
            &"Team/TeamName eq '{teamname}'  "
            &"and BoardName eq 'Stories'  "
            &"and IsCurrent eq true "
        &") "
        &"/groupby ((ColumnName,ColumnOrder)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

按正确的顺序对报表进行排序

  1. 在 Power BI 中 ,展开 ColumnOrder 查询并选择 ColumnName

  2. 选择“列工具”,然后选择“按列排序”。ColumnOrder Power BI 列工具的屏幕截图,按列选择进行排序。

  3. 选择“建模”菜单,然后管理关系。 确保两ColumnOrder.ColumnName者之间存在CFD.ColumnName关系。 这种关系很可能被自动检测到。

    管理关系对话框,其中显示了一个与管理关系之间的关系。ColumnName 和 ColumnOrder.ColumnName。

  4. 在上面创建的报表中,在 Legend 中,替换为 CFD.ColumnName ColumnOrder.ColumnName Legend。

    报表刷新时,会按板所用的相同顺序对列进行排序。

    示例 Power BI 累积流堆积面积图报表的屏幕截图,列按板列顺序排序。

注意

如果任何工作项都位于自删除后已删除的列中,它们将在上述报表中显示为“空白”。