Relatório de exemplo de acúmulo de progresso de recursos
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Este artigo mostra como criar um relatório de barras empilhadas para exibir o progresso dos Recursos com base em Histórias de Usuário filhas concluídas. O relatório exibe a porcentagem concluída por acúmulo de Pontos de História para um determinado conjunto de Recursos ativos. Um exemplo é mostrado na imagem a seguir.
Você pode exibir gráficos de barras de progresso semelhantes de sua lista de pendências adicionando uma coluna de rollup. Para saber como, consulte Exibir progresso ou totais do rollup.
Observação
Este artigo pressupõe que você tenha lido Visão geral de relatórios de exemplo usando consultas OData e tenha uma compreensão básica do Power BI.
Pré-requisitos
- Para exibir dados do Analytics e consultar o serviço, você precisa ser membro de um projeto com acesso básico ou superior. Por padrão, todos os membros do projeto recebem permissões para consultar Análise e definir exibições do Analytics.
- Para saber mais sobre outros pré-requisitos relacionados à habilitação de serviço e recursos e atividades gerais de acompanhamento de dados, consulte Permissões e pré-requisitos para acessar o Analytics.
Consultas de exemplo
O progresso do recurso consulta a WorkItems
entidade para obter o estado atual de progresso.
Observação
Para determinar as propriedades disponíveis para fins de filtro ou relatório, consulte Referência de metadados para Azure Boards. 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
corresponde a um EntityType
. Para saber mais sobre o tipo de dados de cada valor, examine os metadados fornecidos para o correspondente EntityType
.
Revisar o progresso do recurso com base em um caminho de área
Você pode colar a consulta do Power BI listada abaixo diretamente na janela Obter Consulta em Branco de> Dados . Para obter mais informações, examine 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/WorkItems?"
&"$filter=WorkItemType eq 'Feature' "
&"and State ne 'Removed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and Descendants/any()"
&"&$select=WorkItemId,Title,Area,Iteration,AssignedTo,WorkItemType,State,AreaSK"
&"&$expand=Descendants( "
&"$apply=filter(WorkItemType eq 'User Story') "
&"/groupby((StateCategory), "
&"aggregate(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 cadeias de caracteres a seguir pelos valores. Não inclua colchetes {} com sua substituição. Por exemplo, se o nome da sua organização for "Fabrikam", substitua por {organization}
Fabrikam
, não {Fabrikam}
.
{organization}
- Nome da sua organização{project}
- O nome do seu projeto de equipe, ou omitir/{project}
completamente, para uma consulta entre projetos{areapath}
- Seu caminho de área. Formato de exemplo:Project/Level1/Level2
.
Detalhamento da consulta
A tabela a seguir descreve cada parte da consulta.
Parte da consulta
Descrição
$filter=WorkItemType eq 'Feature'
Recursos de retorno.
and State ne 'Cut'
Omitir recursos marcados como Recortar.
and startswith(Area/AreaPath,'{areapath}')
Retorne itens de trabalho em um Caminho de Área específico. Substituir por Area/AreaPath eq '{areapath}'
retorna itens em um caminho de área específico.
Para filtrar por Nome da Equipe, use a instrução Teams/any(x:x/TeamName eq '{teamname})'
filter .
and Descendants/any()
Filtre todos os itens de trabalho que tenham pelo menos um ou "qualquer" descendente. Inclui todos os recursos com pelo menos um item de trabalho filho. Para obter todos os itens de trabalho com seus descendentes, mesmo que eles não tenham nenhum, execute uma consulta sem o Descendants/any()
filtro. Para omitir Recursos que não têm Histórias de Usuário filhas, substitua por any(d:d/WorkItemType eq 'User Story')
.
Para todos os itens de trabalho com e sem descendentes:
$filter=endswith(Area/AreaPath,'suffix')
&$select=WorkItemId,Title,WorkItemType,State,Area, Descendants
&$expand=Descendants($select=WorkItemId)
Para todos os itens de trabalho com pelo menos um descendente:
$filter=endswith(Area/AreaPath, 'suffix')and Descendants/any()
&$select=WorkItemId,Title,WorkItemType,State,Area, Descendants
&$expand=Descendants($select=WorkItemId)
&$select=WorkItemId, Title, WorkItemType, State
Selecione as propriedades a serem retornadas.
&$expand=Descendants(
Início da cláusula de expansão Descendants
$apply=filter(WorkItemType eq 'User Story')
Filtre os descendentes. Inclua apenas Histórias de Usuário (omita Tarefas e Bugs).
/groupby((StateCategory),
Agrupe o pacote cumulativo por StateCategory. Para obter mais informações sobre Categorias de Estado, consulte Como estados de fluxo de trabalho e categorias de estado são usados em Listas de pendências e quadros.
aggregate(StoryPoints with sum as TotalStoryPoints))
Soma agregada dos Pontos da História.
)
Cláusula de fechamento Descendants()
.
Revisar o progresso do recurso para uma equipe
A consulta a seguir é a mesma usada acima, exceto que filtra por Nome da Equipe em vez de Caminho da Área.
Você pode colar a consulta do Power BI listada abaixo diretamente na janela Obter Consulta em Branco de> Dados . Para obter mais informações, examine 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/WorkItems?"
&"$filter=WorkItemType eq 'Feature' "
&"and State ne 'Cut' "
&"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 Descendants/any() "
&"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
&"&$expand=Descendants( "
&"$apply=filter(WorkItemType eq 'User Story') "
&"/groupby((StateCategory), "
&"aggregate(StoryPoints with sum as TotalStoryPoints)) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Transformar os dados no Power Query Editor
A consulta retorna várias colunas que você precisa expandir antes de usá-las para criar um relatório. Qualquer entidade obtida usando uma instrução $expand OData retorna um registro com potencialmente vários campos. Expanda o registro para nivelar a entidade em seus campos.
Para o relatório Progresso do recurso, você precisará realizar as seguintes transformações:
- Expanda a
Descendants
coluna em duas colunas:Descendants.StateCategory
eDescendants.TotalStoryPoints
- Aplicar a transformação de Coluna Dinâmica na
Descendants.StateCategory
coluna para separar categorias de Estado individuais - Substitua valores nulos em todas as colunas dinâmicas.
- Adicione uma coluna personalizada para representar a porcentagem concluída. A coluna personalizada exibirá erros se houver colunas nulas nas colunas de Estado pivotadas.
Para saber como, consulte as seguintes seções em Transformar dados do Analytics para gerar relatórios do Power BI:
- Expanda a coluna Descendentes.
- Pivotar a coluna Descendentes.StateCategory.
- Substitua valores nulos.
- Criar uma coluna computada de porcentagem concluída
Observação
Neste exemplo, os valores de Estado para User Story incluem Proposed, In Progress e Completed.
Feche a consulta e aplique suas alterações
Depois de concluir todas as transformações de dados, escolha Fechar & Aplicar no menu Página Inicial para salvar a consulta e retornar à guia Relatório no Power BI.
Criar o relatório de gráfico de barras empilhadas
No Power BI, escolha Relatório de gráfico de barras empilhado em Visualizações.
Adicione
Title
ao Eixo Y.Adicione
PercentComplete
ao Eixo X, clique com o botão direito do mouse e selecione Soma.
O relatório de exemplo é exibido.
Artigos relacionados
- Visão geral de relatórios de exemplo usando consultas OData
- Construir consultas OData para Análise
- Conectar-se usando consultas do Power BI e OData
- Referência de metadados para o Azure Boards Analytics
- Relatórios de exemplo e índice de referência rápida
- Adicionar uma segmentação de equipe a um relatório existente
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de