Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
O acúmulo fornece suporte para mostrar uma contagem de itens de trabalho ou soma de Pontos da História, Trabalho Restante ou outro campo personalizado de itens filho. Este artigo fornece vários exemplos de como gerar um relatório de acúmulo tabular para Épicos, Recursos ou Histórias de Usuário que contêm itens de trabalho filho. A imagem a seguir mostra um exemplo de Pontos da História acumulados para seus Recursos pai.
Para obter mais informações sobre o acúmulo cumulativo e as opções para mostrar o acúmulo, consulte Exibir o progresso ou os totais do acúmulo no Azure Boards.
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 de Power BI.
| Categoria | Requirements |
|---|---|
| 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 Analytics e criar exibições. Para obter mais informações sobre outros pré-requisitos relacionados à ativação de serviços e recursos e atividades gerais de rastreamento de dados, consulte Permissões e pré-requisitos para acessar o Analytics. |
Consultas de exemplo
As consultas a seguir retornam dados do conjunto de entidades WorkItems para dar suporte à geração de relatórios de matriz de acúmulo.
Observação
Para localizar as propriedades disponíveis para filtragem ou relatório, consulte a referência Metadata para Azure Boards. Você pode filtrar consultas ou retornar propriedades usando qualquer valor Property definido em um EntityType ou qualquer valor NavigationPropertyBinding Path listado para um EntitySet. Cada EntitySet mapeia um EntityType, que documenta o tipo de dados de cada propriedade.
Acumular Pontos da História em Recursos de Histórias de Usuário filho com base no Caminho da Área
- Power BI consulta
- Consulta OData
Copie e cole a consulta Power BI a seguir diretamente na janela Get Data>Blank Query. 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 startswith(Area/AreaPath,'{areapath}')"
&" and Descendants/any()"
&"& $select=WorkItemId,Title,WorkItemType,State,AreaSK"
&"& $expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath),"
&"Descendants("
&"$apply=filter(WorkItemType eq 'User Story')"
&"/aggregate($count as CountOfUserStories, 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 por seus valores. Não inclua as chaves {} na 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 omita totalmente "/{project}" 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'
Omita bugs fechados.
and startswith(Area/AreaPath,'{areapath}')
Retornar itens de trabalho em um Caminho de Área específico, substituindo itens retornados de Area/AreaPath eq '{areapath}' em um Caminho de Área específico.
Para filtrar por Nome da Equipe, use a instrução Teams/any(x:x/TeamName eq '{teamname})'filtro.
and Descendants/any()
Inclua todos os recursos, mesmo aqueles sem histórias de usuário. Substitua por "any(d:d/WorkItemType eq 'User Story')" para omitir Recursos que não têm Histórias de Usuário filhas.
&$select=WorkItemId, Title, WorkItemType, State
Selecione os campos a serem retornados.
&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath),
Selecione campos AssignedTo de propriedades expansíveis, Iteration, Area.
Descendants(
Expanda a cláusula Descendants.
$apply=filter(WorkItemType eq 'User Story')
Filtre os descendentes para incluir apenas Histórias de Usuário (omite tarefas e bugs).
/aggregate($count as CountOfUserStories, StoryPoints with sum as TotalStoryPoints)
Para todos os descendentes que correspondem à cláusula de filtro, conte-os e some a propriedade StoryPoints.
)
Feche o Descendants().
Acumular Pontos da História em Recursos de Histórias de Usuário filhas com base em Equipes
As consultas a seguir mostram como gerar relatórios cumulativos filtrando por nome de equipe em vez de Caminho da Área.
- Power BI consulta
- Consulta OData
Copie e cole a consulta Power BI a seguir diretamente na janela Get Data>Blank Query. 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=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath),"
&"Descendants("
&"$apply=filter(WorkItemType eq 'User Story')"
&"/aggregate($count as CountOfUserStories, StoryPoints with sum as TotalStoryPoints)"
&")",
null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Acumular Pontos da História em Épicos
Você pode acumular pontos da história em Épicos usando as consultas a seguir.
Copie e cole a consulta Power BI a seguir diretamente na janela Get Data>Blank Query. 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 'Epic'"
&" and State ne 'Cut'"
&" and startswith(Area/AreaPath,'{areapath}')"
&" and Descendants/any(d:d/WorkItemType eq 'User Story')"
&"& $select=WorkItemId,Title,WorkItemType,State,AreaSK"
&"& $expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath),"
&"Descendants("
&"$apply=filter(WorkItemType eq 'User Story')"
&"/aggregate(StoryPoints with sum as TotalStoryPoints)"
&")",
null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Acumular Trabalho Restante nas Tarefas e Trabalho Concluído em Histórias de Usuário
A consulta a seguir mostra como acumular Trabalho Restante e Trabalho Concluído atribuído a Tarefas filhas em Histórias de Usuário na hierarquia. Essas consultas pressupõem que as Tarefas são atribuídas como filhas de uma História de Usuário no Caminho de Área especificado.
Copie e cole a consulta Power BI a seguir diretamente na janela Get Data>Blank Query. 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 'User Story'"
&" and State ne 'Removed'"
&" and startswith(Area/AreaPath,'{areapath}')"
&" and Descendants/any()"
&"& $select=WorkItemId,Title,WorkItemType,State,AreaSK"
&"& $expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath),"
&"Descendants("
&"$apply=filter(WorkItemType eq 'Task')"
&"/aggregate(RemainingWork with sum as TotalRemainingWork, CompletedWork with sum as TotalCompletedWork)"
&")",
null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Acumular Contagem de bugs em Recursos
As consultas a seguir mostram como acumular a contagem de Bugs atribuídos a Recursos. Essas consultas pressupõem que os bugs são definidos como filhos de um Recurso no Caminho de Área especificado.
Copie e cole a consulta Power BI a seguir diretamente na janela Get Data>Blank Query. 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,WorkItemType,State,AreaSK"
&"& $expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath),"
&"Descendants("
&"$apply=filter(WorkItemType eq 'Bug')"
&"/aggregate($count as CountOfBugs)"
&")",
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. Insira um novo nome no painel Configurações de Consulta .
Expandir colunas em Power BI
A &$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath) cláusula retorna registros que contêm vários campos. Antes de criar o relatório, você precisa expandir o registro para nivelá-lo em campos específicos. Nesse caso, você desejará expandir os seguintes registros:
AssignedToAreaPathIterationPath
Para saber como, consulte Transform Analytics para gerar relatórios Power BI.
(Opcional) Renomear campos de coluna
Você pode renomear campos de coluna para serem mais amigáveis. Para saber como, consulte Renomear campos de coluna.
Substituir valores nulos em campos cumulativos
Se um item de trabalho não tiver filhos, o valor acumulado poderá ser nulo. Por exemplo, Descendants.CountOfUserStories será "nulo" se uma Feature não tiver histórias de usuário filhas.
Para facilitar a geração de relatórios, substitua todos os nulos por zero seguindo estas etapas.
- Selecione a coluna escolhendo o cabeçalho da coluna.
- Selecione o menu Transformar.
- Selecione Substituir valores. A caixa de diálogo Substituir valores é exibida.
- Deixe valor para localizar definido como
null. - Insira
0em Substituir por. - Selecione OK.
Repita para todas as colunas cumulativas.
Feche a consulta e aplique suas alterações
Ao concluir todas as transformações de dados, selecione Fechar &Aplicar no menu Página Inicial . Essa ação salva a consulta e retorna você para a guia Report no Power BI.
Criar o relatório Tabela
Em Power BI, escolha o relatório Table em Visualizations.
Adicione os seguintes campos a Colunas na ordem indicada:
-
WorkItemI, escolha Não resumir para mostrar o ID, se necessário WorkItemTypeTitleStateCount of User Stories-
Total Story Points.
-
O relatório de exemplo é exibido.
Conteúdo relacionado
- Explorar relatórios de exemplo usando consultas OData
- Construir consultas OData para Análise
- Conectar para Power BI usando consultas OData
- Consulte os metadados do Azure Boards Analytics
- Acesse relatórios de amostra e índice de referência rápida
- Adicionar uma segmentação de equipe a um relatório existente