Compartilhar via


Consultar dados de tendência

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Examinar tendências em dados e fazer comparações ponto a ponto são aspectos importantes do relatório e da análise de dados. A análise dá suporte a esses recursos.

Nota

O serviço de Análise é habilitado automaticamente e tem suporte na produção de todos os serviços no Azure DevOps Services. A integração do Power BI e o acesso ao feed OData do serviço de Análise estão disponíveis em geral. Você é incentivado a usar o feed OData do Analytics e fornecer comentários.

Os dados disponíveis dependem da versão. A versão mais recente com suporte da API OData é v2.0e a versão de versão prévia mais recente é v4.0-preview. Para obter mais informações, confira Sobre o controle de versão da API OData.

Nota

O serviço Analytics é automaticamente instalado e tem suporte em produção para todas as novas coleções de projetos no Azure DevOps Server 2020 e em versões posteriores. A integração do Power BI e o acesso ao feed OData do serviço de Análise estão disponíveis em geral. Você é incentivado a usar o feed OData do Analytics e fornecer comentários. Se você atualizar do Azure DevOps Server 2019, poderá instalar o serviço de Análise durante a atualização.

Os dados disponíveis dependem da versão. A versão mais recente com suporte da API OData é v2.0e a versão de versão prévia mais recente é v4.0-preview. Para obter mais informações, confira Sobre o controle de versão da API OData.

Os dados de tendência são expostos nos conjuntos de entidades WorkItemSnapshot e WorkItemBoardSnapshot. Eles são construídos para que cada item de trabalho, desde o dia em que foi criado até hoje, exista para cada dia. Para uma organização com apenas um item de trabalho criado há um ano, há 365 linhas nessa entidade. Para projetos grandes, essas entidades seriam impraticáveis de usar com ferramentas de cliente.

Qual é a solução? Use as extensões de agregação.

Usando as Extensões de Agregação OData, você pode retornar dados agregados do Azure DevOps que são propícios para relatórios. Por exemplo, você pode mostrar a tendência de bug para o mês de março. As tendências de erros são uma parte comum e crítica do gerenciamento de qualquer projeto para que você possa aproveitá-las imediatamente.

Nota

Os exemplos mostrados neste documento são baseados em uma URL do Azure DevOps Services. Substitua a URL do Servidor do Azure DevOps conforme necessário.

https://{servername}:{port}/tfs/{OrganizationName}/{ProjectName}/_odata/{version}/

Pré-requisitos

Categoria Requisitos
níveis de acesso - Membro do projeto.
- No mínimo, acesso Básico.
Permissões Por padrão, os membros do projeto têm permissão para fazer consultas em Análises e criar visões. Para obter mais informações sobre outros pré-requisitos sobre a habilitação de serviços e recursos e atividades gerais de acompanhamento de dados, consulte Permissões e pré-requisitos para acessar o Analytics.

Construir uma consulta básica para dados de tendência

Para consultar efetivamente a tabela WorkItemSnapshot, siga estes requisitos básicos:

  • Filtre os dados por data.
  • Agrupe a agregação pelo menos pela data. Caso contrário, a resposta inclui um aviso.

A consulta para criar um relatório de tendência de bug se parece com o seguinte exemplo:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
  $apply=
    filter(DateValue ge 2016-03-01Z and DateValue le 2016-03-31Z and WorkItemType eq 'Bug')/
    groupby((DateValue,State), aggregate($count as Count))
  &$orderby=DateValue

Ele retorna um resultado semelhante ao seguinte exemplo:

{
  "@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
  "value": [
    {
      "@odata.id": null,
      "State": "Active",
      "DateValue": "2016-03-01T00:00:00-08:00",
      "Count": 2666
    },
    {
      "@odata.id": null,
      "State": "Closed",
      "DateValue": "2016-03-01T00:00:00-08:00",
      "Count": 51408
    }
  ]
}

Essa consulta produz no máximo 31 * (number of bug states). O bug padrão tem três estados:

  • Ativo
  • Resolvido
  • Fechado

No máximo, essa consulta retorna 93 linhas, independentemente de quantos milhares de registros realmente existam. Ele fornece uma forma muito mais compacta de retornar dados.

Vamos examinar uma variação neste exemplo. Você deseja ver a tendência de erros para uma iteração ou uma versão que se inicia com uma iteração e se encerra com outra.

Para construir essa consulta, faça o seguinte exemplo:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
  $apply=
    filter(WorkItemType eq 'Bug')/
    filter(Iteration/IterationName eq 'Sprint 99')/
    filter(DateValue ge Iteration/StartDate and (Iteration/EndDate eq null or DateValue le Iteration/EndDate))/
    groupby((DateValue, State), aggregate($count as Count))
  &$orderby=DateValue

Ele retorna um resultado semelhante ao seguinte exemplo:

{
  "@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
  "value": [
    {
      "@odata.id": null,
      "State": "Active",
      "DateValue": "2016-04-04T00:00:00-07:00",
      "Count": 320
    },
    {
      "@odata.id": null,
      "State": "Closed",
      "DateValue": "2016-04-04T00:00:00-07:00",
      "Count": 38
    }
  ]
}

Nesta consulta, há duas diferenças importantes. Adicionamos uma cláusula de filtro para filtrar os dados para uma iteração específica e as datas agora estão sendo comparadas com as datas de início e término da iteração versus uma data codificada em código.

Nota

Se a consulta em tabelas de instantâneo não usar agregação, a resposta exibirá o aviso: "A consulta especificada não inclui uma cláusula $select ou $apply recomendada para todas as consultas".