在使用 OData 查询构建 Power BI 报告时,我指的是这个MS 文档。
我稍微修改了查询以显示 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"
它可能看起来不像你看到的那样优雅我没有在做服务器端 groupby,但我也想拥有 teamName 信息,我尝试在查询中扩展和 groupby,但不断出错。
我也知道没有 0 故事点的原因是因为 StateCategory ne 'Completed' "
. 如何在 Power BI 中正确可视化 Azure DevOps 燃尽图?
p / s:如果有人能建议可视化总范围和理想趋势,那就更好了。