Relatórios de exemplo de burndown do Sprint
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Os gráficos de burndown de sprint são úteis para monitorar o quão bem uma equipe está executando seu plano de sprint. Vários gráficos integrados e widgets de painel suportam o burndown de sprint de monitoramento. Consulte Configurar e monitorar o burndown do sprint.
No entanto, você pode personalizar um gráfico de burndown de sprint usando o Analytics e o Power BI com as consultas fornecidas neste artigo. O exemplo a seguir mostra um burndown de User Stories e seus estados.
Importante
- Excluir caminhos de área ou reconfigurar caminhos de iteração causa perda de dados irreversível. Por exemplo, gráficos de widgets de burndown e burnup, burndown de sprint e gráficos de velocidade para equipes com caminhos de área alterados não exibirão dados precisos. Os gráficos de tendência históricos fazem referência ao Caminho de Área e ao Caminho de Iteração conforme foram definidos no momento para cada item de trabalho. Uma vez excluído, você não pode recuperar dados históricos para esses caminhos.
- Você só pode excluir caminhos de área e iteração que não são mais usados por nenhum item de trabalho.
Para obter mais informações sobre burndown e burnup, e orientação de burndown e burnup.
Nota
Este artigo pressupõe que você leia Visão geral de relatórios de exemplo usando consultas OData e tenha uma compreensão básica do Power BI.
Pré-requisitos
- Acesso: Ser membro de um projeto com pelo menos acesso Básico .
- Permissões: por predefinição, os membros do projeto têm permissão para consultar o Analytics e criar vistas.
- Para obter mais informações sobre outros pré-requisitos relacionados com a ativação de serviços e funcionalidades e atividades gerais de monitorização de dados, consulte Permissões e pré-requisitos para aceder ao Analytics.
Consultas de amostra
Os gráficos de burndown exigem consultar o WorkItemSnapshot
conjunto de entidades para obter dados históricos.
Nota
Para determinar as propriedades disponíveis para fins de filtro ou relatório, consulte Referência de metadados para painéis do Azure. Você pode filtrar suas consultas ou retornar propriedades usando qualquer um dos Property
valores em um EntityType
ou NavigationPropertyBinding Path
valores disponíveis com um EntitySet
. Cada EntitySet
um corresponde a um EntityType
arquivo . Para obter mais informações sobre o tipo de dados de cada valor, revise os metadados fornecidos para o .EntityType
Burndown User Stories para um caminho de área e a iteração atual
Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Consulta em Branco de Dados>. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas 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
Cadeias de caracteres de substituição e detalhamento de consulta
Substitua as seguintes cadeias de caracteres por seus valores. Não inclua parênteses com a {} sua substituição. Por exemplo, se o nome da sua organização for "Fabrikam", substitua {organization}
por Fabrikam
, não {Fabrikam}
.
{areapath}
- O Caminho da Sua Área. Exemplo de formato:Project\Level1\Level2
.
Detalhamento da consulta
A tabela a seguir descreve cada parte da consulta.
Parte da consulta
Descrição
$apply=filter(
Iniciar filtro()
WorkItemType eq 'User Story'
Burndown em histórias de usuários
and startswith(Area/AreaPath,'{areapath}')
Itens de trabalho em um Caminho de Área específico. A substituição por Area/AreaPath eq '{areapath}'
retorna itens em um Caminho de Área específico.
Para filtrar por Nome da Equipe, use a instrução filter Teams/any(x:x/TeamName eq '{teamname})'
and StateCategory ne 'Completed'
Filtra os itens concluídos. Para obter mais informações sobre Categorias de Estado, consulte Como os estados do fluxo de trabalho e as categorias de estado são usados em Listas de Pendências e Painéis.
and DateValue ge Iteration/StartDate
Comece a tendência no início da iteração.
and DateValue le Iteration/EndDate
Fim da tendência no final da iteração.
and Iteration/StartDate le now()
Selecione a iteração atual.
and Iteration/EndDate ge now()
Selecionar iteração atual
)
Fechar filtro()
/groupby(
Iniciar groupby()
(DateValue, State, WorkItemType, Priority, Area/AreaPath, Iteration/IterationPath),
Agrupar por DateValue (usado para tendências) e quaisquer campos sobre os quais você deseja relatar
aggregate($count as Count, StoryPoints with sum as TotalStoryPoints)
Agregar por contagem de histórias de usuários e soma de pontos de história
)
Fechar groupby()
Burndown User Stories para uma equipe e a iteração atual
Esta consulta é a mesma usada acima, exceto que filtra por Nome da Equipe em vez de Caminho da Área.
Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Consulta em Branco de Dados>. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas 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
Burndown User Stories para todos os sprints desde o início de um ano
Você pode querer exibir um burndown de todos os sprints em um único relatório. Essas consultas puxam burndowns de sprint, e seus pontos por história, para todos os sprints desde o início do ano de 2022.
Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Consulta em Branco de Dados>. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas 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
Tarefas de burndown e trabalho restante
Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Consulta em Branco de Dados>. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas 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
(Opcional) Renomear consulta
Você pode renomear o rótulo de consulta padrão, Query1, para algo mais significativo. Basta inserir um novo nome no painel Configurações de consulta.
Expandir colunas no Power Query Editor
Antes de criar o relatório, você precisará expandir as colunas que retornam registros contendo vários campos. Nesse caso, você desejará expandir os seguintes registros:
Area
Iteration
AssignedTo
Para saber como expandir itens de trabalho, consulte Transformar dados do Analytics para gerar relatórios do Power BI.
Feche a consulta e aplique as alterações
Depois de concluir todas as suas transformações de dados, escolha Fechar & Aplicar no menu Início para salvar a consulta e retornar à guia Relatório no Power BI.
Criar o relatório de gráfico de colunas empilhadas
No Power BI, escolha o relatório Gráfico de colunas empilhadas em Visualizações.
Adicionar
DateValue
ao Eixo X, clique com o botão direito do rato e selecioneDateValue
, em vez deDate Hierarchy
Adicionar
Count
ao eixo Y.Adicionar
State
ao eixo Y.
O relatório de exemplo, que exibe burndown em Pontos de História e Contagem de Histórias.
Artigos relacionados
- Explore relatórios de exemplo usando consultas OData
- Construir consultas OData para o Analytics
- Conectar-se ao Power BI usando consultas OData
- Consulte os metadados do Azure Boards Analytics
- Aceda a relatórios de exemplo e índice de referência rápida
- Adicionar uma segmentação de dados de equipe a um relatório existente