Azure DevOps OData Sprint燃尽图未显示0故事点

时间:2020-05-22 05:06:59

标签: azure-devops powerbi burndowncharts

在使用OData查询构建Power BI报表时,我指的是这个MS docs

我稍微修改了查询以显示Sprint Burndown(逐个Sprint),并且一切正常,直到我意识到团队完成所有故事点之后,正确地,Burndown区域应该像我们一样一直为零可以在Azure DevOps UI的Sprint> Analytics中查看,但是在我的OData查询中,由于没有故事点,因此不会显示数据的最后一天,因此我的可视化效果永远不会为零(但实际上是这样)。

您可能会问为什么我要执行定制的Power BI报表,我要在多个组织中进行此可视化,这就是为什么我们希望在单个Power BI报表中具有所有视图的整体视图。

我的OData查询

let
   Source = OData.Feed ("https://analytics.dev.azure.com/"& Organization &"/_odata/v3.0-preview/WorkItemSnapshot? "
        &"$apply=filter( "
            &"Project/ProjectName eq '{ProjectName}' "            
            &"and WorkItemType eq 'User Story' "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate ge 2020-01-01Z "
        &") "
 &" &$expand=Project,Iteration,Teams"
        ),
    #"Expanded Project" = Table.ExpandRecordColumn(Source, "Project", {"ProjectName"}, {"Project.ProjectName"}),
    #"Expanded Iteration" = Table.ExpandRecordColumn(#"Expanded Project", "Iteration", {"IterationName", "IterationPath", "StartDate", "EndDate"}, {"Iteration.IterationName", "Iteration.IterationPath", "Iteration.StartDate",  "Iteration.EndDate"}),
    #"Expanded Teams" = Table.ExpandTableColumn(#"Expanded Iteration", "Teams", {"TeamName"}, {"Teams.TeamName"}),
    #"Removed Other Columns" = Table.SelectColumns(#"Expanded Teams",{"WorkItemId", "CompletedDate", "StoryPoints", "Teams.TeamName", "Project.ProjectName", "Iteration.IterationName", "Iteration.IterationPath", "Iteration.StartDate",  "Iteration.EndDate", "DateValue"}),
    #"Grouped Rows" = Table.Group(#"Removed Other Columns", {"Teams.TeamName", "Project.ProjectName", "Iteration.IterationName", "Iteration.IterationPath", "Iteration.StartDate", "Iteration.EndDate", "DateValue"}, {{"Total Story Points", each List.Sum([StoryPoints]), type number}})
in
    #"Grouped Rows"

它可能看起来不像您看到的那样优雅,我没有在进行服务器端分组,但是我也想拥有teamName信息,我尝试在查询中扩展和分组,但始终会出错。

我也知道故事点不为0的原因是StateCategory ne 'Completed' "。如何正确显示Power BI中的Azure DevOps燃尽图?

p / s:最好是有人建议同时可视化总体范围和理想趋势。

1 个答案:

答案 0 :(得分:0)

以下查询将适用于计算总范围

https://analytics.dev.azure.com/{orgName}/{ProjectName}/_odata/v3.0-preview/WorkItemSnapshot?
        $apply=filter(
        Teams/any(d:d/TeamName eq '{TeamName}')
        and Iteration/IterationName eq '{IterationName}'
        and (WorkItemType eq 'User Story') 
        and StateCategory ne null 
        and (DateValue ge Iteration/StartDate 
            and DateValue le Iteration/EndDate))
        /groupby((DateSK),aggregate($count as TotalScope))

但是,对于该查询,您将不得不遍历每个团队,我找不到任何方法可以根据团队对结果进行分组。 您可以使用Teams Rest API获得所有团队。 希望这可以帮助。 :)