Funções e cláusulas OData com suporte
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Este artigo aborda como o Analytics oferece suporte a várias funções OData. Funções não suportadas também são listadas. OData (Open Data Protocol) é um padrão OASIS aprovado pela ISO/IEC que define as melhores práticas para criar e consumir APIs REST. Para obter mais informações, consulte a documentação do OData.
Observação
O serviço de Análise é habilitado automaticamente e tem suporte na produção para todos Azure DevOps Services. A integração do Power BI e o acesso ao feed OData do Serviço de Análise estão em disponibilidade geral. Encorajamos você a usá-lo e nos dar feedback.
Os dados disponíveis dependem da versão. A versão mais recente com suporte é v2.0
, e a versão de visualização mais recente é v4.0-preview
. Para obter mais informações, consulte Controle de versão da API OData.
Observação
O serviço de Análise é instalado automaticamente e tem suporte na produção para todas as novas coleções de projetos para Azure DevOps Server 2020 e versões posteriores. A integração do Power BI e o acesso ao feed OData do Serviço de Análise estão em disponibilidade geral. Encorajamos você a usá-lo e nos dar feedback. Se você atualizou de 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 é v2.0
, e a versão de visualização mais recente é v4.0-preview
. Para obter mais informações, consulte Controle de versão da API OData.
Observação
O serviço de Análise está em versão prévia para Azure DevOps Server 2019. Você pode habilitá-lo ou instalá-lo para uma coleção de projetos. A integração do Power BI e o acesso ao feed OData do Serviço de Análise estão em versão prévia. Encorajamos você a usá-lo e nos dar feedback.
Os dados disponíveis dependem da versão. A versão mais recente com suporte é v2.0
, e a versão de visualização mais recente é v4.0-preview
. Para obter mais informações, consulte Controle de versão da API OData.
Cláusulas com suporte
$apply
$compute
$count
$expand
$filter
$orderby
$select
$skip
$top
Quando várias cláusulas são usadas em uma consulta, elas são aplicadas na ordem especificada acima. A ordem das cláusulas na cadeia de caracteres de consulta é ignorada. Por exemplo, na consulta a seguir, os itens de trabalho são primeiro agrupados e agregados. Em seguida, os grupos são filtrados. Depois disso, os grupos filtrados são classificados. Finalmente, os cinco primeiros registros são retornados. A consulta retorna os cinco principais tipos de item de trabalho usados pelo menos 100 vezes.
WorkItems?$filter=Count ge 100&$apply=groupby((WorkItemType), aggregate($count as Count))&$orderby=Count&top=5
Suporte a extensões de agregação
É preciso uma sequência de transformações de conjunto, separadas por barras, para expressar que elas são aplicadas consecutivamente. O resultado de cada transformação é a entrada para a próxima transformação. Por exemplo, na consulta a seguir, os itens de trabalho são filtrados e agrupados por tipo e estado de item de trabalho. Em seguida, os grupos são filtrados e agrupados novamente.
Observação
As extensões de agregação OData são relativamente novas e ainda não têm suporte total em algumas ferramentas de cliente.
Workitems?$apply=filter(State ne 'Closed')/groupby((WorkItemType, State), aggregate($count as Count))/filter(Count gt 100)/groupby((State),aggregate(Count with max as MaxCount))
As seguintes transformações são suportadas:
Transformação | Observações |
---|---|
aggregate |
Permite a agregação usando um dos seguintes métodos$count : average , , min max , ,sum |
compute |
Permite adicionar propriedades calculadas |
expand |
Permite a expansão por propriedades especificadas |
filter |
Permite filtrar o conjunto de entradas. Suporta as mesmas expressões que $filter |
groupby |
Permite agrupar por propriedades |
Para obter mais informações, consulte Agregar dados de acompanhamento de trabalho.
Funções suportadas
Função canônica | Descrição |
---|---|
cast |
Retorna a expressão da conversão da instância atual para o tipo especificado. |
contains |
Retorna true se o segundo valor da cadeia de caracteres de parâmetro for uma subcadeia de caracteres do primeiro valor da cadeia de caracteres de parâmetro, caso contrário, ele retornará false. |
endswith |
Retorna true se o primeiro valor da cadeia de caracteres de parâmetro terminar com o segundo valor da cadeia de caracteres de parâmetro, caso contrário, ele retornará false. |
startswith |
Retorna true se o primeiro valor de cadeia de caracteres de parâmetro começar com o segundo valor de cadeia de caracteres de parâmetro, caso contrário, ele retornará false. |
length |
Retorna o número de caracteres no valor do parâmetro. |
indexof |
Retorna a posição do caractere com base em zero da primeira ocorrência do segundo valor de parâmetro no primeiro valor de parâmetro ou -1 se o segundo valor de parâmetro não ocorrer no primeiro valor de parâmetro. |
substring |
Retorna uma subcadeia de caracteres do primeiro valor de cadeia de caracteres de parâmetro, começando no enésimo caractere e terminando no último caractere (em que N é o valor inteiro do segundo parâmetro). |
tolower |
Retorna o valor da cadeia de caracteres do parâmetro de entrada com todos os caracteres maiúsculos convertidos em minúsculas. |
toupper |
Retorna o valor da cadeia de caracteres do parâmetro de entrada com todos os caracteres minúsculos convertidos em maiúsculas. |
trim |
Retorna o valor da cadeia de caracteres do parâmetro de entrada com todos os caracteres de espaço em branco à esquerda e à direita. |
year |
Retorna o componente de ano do valor do parâmetro Date ou DateTimeOffset. |
month |
Retorna o componente month do valor do parâmetro Date ou DateTimeOffset. |
day |
Retorna o componente de dia do valor do parâmetro Date ou DateTimeOffset. |
date |
Retorna a parte da data do valor do parâmetro DateTimeOffset. |
time |
Retorna a parte de hora do valor do parâmetro DateTimeOffset. |
totaloffsetminutes |
Retorna o número assinado de minutos na parte de deslocamento de fuso horário do valor do parâmetro DateTimeOffset. |
now |
Retorna o ponto atual no tempo (data e hora com fuso horário) como um valor DateTimeOffset. |
maxdatetime |
Retorna o último ponto possível no tempo como um valor DateTimeOffset. |
mindatetime |
Retorna o ponto mais antigo possível no tempo como um valor DateTimeOffset. |
As funções OData são usadas em uma $filter
cláusula, mas não em uma $select
cláusula da maneira que seriam usadas em uma instrução SQL.
Por exemplo, você pode especificar:
/WorkItems?$filter=toupper(Title) eq 'HELP'
No entanto, você não pode inserir a seguinte string:
/WorkItems?$select=WorkItemId,State,toupper(Title)
Recursos sem suporte
bottomcount
bottomsum
bottompercent
$crossjoin
concat
countdistinct
from
isdefined
$rollup
$search
topcount
topsum
toppercent