Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022
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 infantis concluídas. O relatório exibe a porcentagem concluída por agregação de Pontos de História para um determinado conjunto de Funcionalidades ativas. Você pode visualizar gráficos de barras de progresso semelhantes da sua lista de pendências ao adicionar uma coluna de resumo. Para saber como, consulte Exibir progresso ou totais do rollup.
Ao criar relatórios cumulativos usando o Power BI, você pode encontrar problemas relacionados a dados aninhados em seus conjuntos de dados. Especificamente, tentar dinamizar uma tabela que contém colunas com dados aninhados pode resultar em uma mensagem de erro. Para obter mais informações, consulte a seção sobre Tratamento de dados aninhados.
Pré-requisitos
| Categoria | Requerimentos |
|---|---|
| Níveis de acesso |
-
Membro do projeto. - Pelo menos acesso básico . |
| Permissões | Por padrão, os membros do projeto têm permissão para consultar o Google Analytics e criar modos de exibição. 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. |
Nota
Este artigo pressupõe que você tenha lido Visão geral dos relatórios de exemplo usando consultas OData e tenha uma compreensão básica do Power BI.
Exemplos de Consultas
A consulta de progresso interroga a entidade WorkItems para obter o estado atual do avanço.
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 as suas consultas ou retornar propriedades usando qualquer um dos Property valores sob um EntityType ou NavigationPropertyBinding Path valores disponíveis com um EntitySet. Cada EntitySet corresponde a um EntityType. Para obter mais informações sobre o tipo de dados de cada valor, consulte os metadados fornecidos para o EntityType.
Revisar o progresso da funcionalidade com base num caminho de área
Copie e cole a seguinte consulta do Power BI diretamente na Obter Dados>Consulta em Branco janela. 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/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 seguintes cadeias de caracteres por seus valores. Não inclua colchetes {} na sua substituição. Por exemplo, se o nome da sua organização for "Fabrikam", substitua {organization} por 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}- 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
$filter=WorkItemType eq 'Feature'
Funcionalidades de Retorno.
and State ne 'Cut'
Omitir recursos marcados como Recortar.
and startswith(Area/AreaPath,'{areapath}')
Retornar 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 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 todas as funcionalidades com pelo menos um subitem de trabalho. 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 Funcionalidades que não têm Histórias de Utilizador 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 Utilizador (omita Tarefas e Erros).
/groupby((StateCategory),
Agrupe a agregação por StateCategory. 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.
aggregate(StoryPoints with sum as TotalStoryPoints))
Soma total de Pontos de História.
)
Fechar a cláusula Descendants().
Revisar o progresso do recurso para uma equipe
A consulta a seguir é a mesma usada anteriormente, exceto que filtra por Nome da Equipe em vez de Caminho de Área.
Copie e cole a seguinte consulta do Power BI diretamente na Obter Dados>Consulta em Branco janela. 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/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 poder usá-las para criar um relatório. Qualquer entidade puxada usando uma instrução OData $expand retorna um registo que pode conter vários campos. Expanda o registro para nivelar a entidade em seus campos.
Para o relatório de progresso do recurso, você precisa executar as seguintes transformações:
- Expanda a
Descendantscoluna em duas colunas:Descendants.StateCategoryeDescendants.TotalStoryPoints - Aplicar a transformação Coluna Dinâmica na coluna
Descendants.StateCategorypara separar categorias individuais de Estado. - Substitua valores nulos em todas as colunas dinâmicas.
- Adicione uma coluna personalizada que represente a porcentagem concluída. A coluna personalizada exibe erros se houver colunas nulas nas colunas de Estado pivotadas.
Para saber como, consulte Transformar dados do Google Analytics para gerar relatórios do Power BI.
Tratamento de dados aninhados
Antes de executar uma operação de pivô, verifique se o conjunto de dados não contém colunas com dados aninhados. Siga estes passos:
- Identificar colunas aninhadas: verifique se há colunas no conjunto de dados que possam conter listas, registros ou tabelas em uma única célula.
- Nivelar ou remover dados aninhados: pode remover as colunas aninhadas ou nivelá-las expandindo em colunas separadas utilizando a funcionalidade "Expandir" no Power Query.
- Executar a operação de pivô: Depois de abordar os dados aninhados, você pode prosseguir com a operação de pivô sem encontrar erros.
Nota
Neste exemplo, os valores de Estado para User Story incluem Proposed, In Progress e Completed.
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 relatório de gráfico de barras empilhadas
No Power BI, escolha o relatório gráfico de barras empilhadas nas Visualizações.
Adicionar
Titleao eixo Y.Adicione
PercentCompleteao X-Axis, clique com o botão direito do mouse e selecione Soma.
O relatório de exemplo é exibido.
Artigos relacionados
- Explore relatórios de exemplo usando consultas OData
- Construir consultas OData para Análise de Dados
- 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 um filtro de equipa a um relatório existente