Delen via


Ondersteunde OData-functies en -clausules

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

In dit artikel wordt beschreven hoe Analytics ondersteuning biedt voor verschillende OData-functies. Niet-ondersteunde functies worden ook vermeld. OData (Open Data Protocol) is een ISO/IEC-standaard die aanbevolen procedures definieert voor het bouwen en gebruiken van REST API's. Zie de OData-documentatie voor meer informatie.

Notitie

De Analytics-service wordt automatisch ingeschakeld en ondersteund in productie voor alle Azure DevOps-services. Power BI-integratie en -toegang tot de OData-feed van de Analytics-service zijn algemeen beschikbaar. We raden u aan deze te gebruiken en ons feedback te geven. Beschikbare gegevens zijn afhankelijk van versie. De meest recente ondersteunde versie is v2.0en de nieuwste preview-versie is v4.0-preview. Zie OData API-versiebeheer voor meer informatie.

Notitie

De Analytics-service wordt automatisch geïnstalleerd en ondersteund in productie voor alle nieuwe projectverzamelingen voor Azure DevOps Server 2020 en nieuwere versies. Power BI-integratie en -toegang tot de OData-feed van de Analytics-service zijn algemeen beschikbaar. We raden u aan deze te gebruiken en ons feedback te geven. Als u een upgrade hebt uitgevoerd van Azure DevOps Server 2019, kunt u de Analytics-service installeren tijdens de upgrade.

Beschikbare gegevens zijn afhankelijk van versie. De meest recente ondersteunde versie is v2.0en de nieuwste preview-versie is v4.0-preview. Zie OData API-versiebeheer voor meer informatie.

Ondersteunde clausules

  • $apply
  • $compute
  • $count
  • $expand
  • $filter
  • $orderby
  • $select
  • $skip
  • $top

Wanneer meerdere componenten worden gebruikt in een query, worden deze toegepast in de bovenstaande volgorde. De volgorde van componenten in de querytekenreeks wordt genegeerd. In de volgende query worden bijvoorbeeld werkitems eerst gegroepeerd en samengevoegd. Vervolgens worden de groepen gefilterd. Daarna worden de gefilterde groepen gesorteerd. Ten slotte worden de eerste vijf records geretourneerd. De query retourneert de vijf belangrijkste typen werkitems die minstens 100 keer worden gebruikt.

WorkItems?$filter=Count ge 100&$apply=groupby((WorkItemType), aggregate($count as Count))&$orderby=Count&top=5

Ondersteuning voor aggregatie-extensies

Er is een reeks settransformaties nodig, gescheiden door schuine strepen, om aan te geven dat ze opeenvolgend worden toegepast. Het resultaat van elke transformatie is de invoer voor de volgende transformatie. In de volgende query worden bijvoorbeeld werkitems gefilterd en vervolgens gegroepeerd op type werkitem en status. Vervolgens worden de groepen gefilterd en opnieuw gegroepeerd.

Notitie

OData-aggregatie-extensies zijn relatief nieuw en nog niet volledig ondersteund door sommige clienthulpprogramma's.

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))  

De volgende transformaties worden ondersteund:

Transformatie Opmerkingen
aggregate Hiermee staat u aggregatie toe met behulp van een van de volgende methoden$count, , averagemaxminsum
compute Hiermee staat u toe dat berekende eigenschappen worden toegevoegd
expand Uitbreiding door opgegeven eigenschappen toestaan
filter Maakt het mogelijk om een invoerset te filteren. Ondersteunt dezelfde expressies als $filter
groupby Groeperen op eigenschappen toestaan

Voor meer informatie, zie Geaggregeerde werkvolggegevens.

Ondersteunde functies

Canonieke functie Beschrijving
cast Retourneert de expressie van de huidige instantiecast naar het opgegeven type.
contains Retourneert true als de tweede parametertekenreekswaarde een subtekenreeks is van de eerste parametertekenreekswaarde, anders wordt onwaar geretourneerd.
endswith Retourneert 'waar' als de waarde van de eerste parameter eindigt op de waarde van de tweede parameter; anders wordt 'onwaar' geretourneerd.
startswith Retourneert true als de eerste parameter string begint met de tweede parameter string, anders wordt false geretourneerd.
length Retourneert het aantal tekens in de parameterwaarde.
indexof Retourneert de op nul gebaseerde tekenpositie van het eerste exemplaar van de tweede parameterwaarde in de eerste parameterwaarde of -1 als de tweede parameterwaarde niet voorkomt in de eerste parameterwaarde.
substring Retourneert een subtekenreeks van de eerste parametertekenreekswaarde, beginnend bij het Nde teken en eindigend bij het laatste teken (waarbij N de tweede parameter integerwaarde is).
tolower Retourneert de waarde van de invoerparametertekenreeks met alle hoofdletters die zijn geconverteerd naar kleine letters.
toupper Retourneert de waarde van de invoerparametertekenreeks met alle kleine letters die zijn geconverteerd naar hoofdletters.
trim Retourneert de tekenreekswaarde van de invoerparameter met alle voorloop- en volgspaties.
year Retourneert het jaaronderdeel van de parameterwaarde Date of DateTimeOffset.
month Retourneert het maandonderdeel van de parameterwaarde Date of DateTimeOffset.
day Retourneert het dagonderdeel van de parameterwaarde Date of DateTimeOffset.
date Retourneert het datumgedeelte van de parameterwaarde DateTimeOffset.
time Retourneert het tijdgedeelte van de parameterwaarde DateTimeOffset.
totaloffsetminutes Retourneert het getekende aantal minuten in het gedeelte voor het tijdzoneverschil van de parameterwaarde DateTimeOffset.
now Retourneert het huidige tijdstip (datum en tijd met tijdzone) als een DateTimeOffset-waarde.
maxdatetime Retourneert het meest recente mogelijke tijdstip als een DateTimeOffset-waarde.
mindatetime Retourneert het vroegst mogelijke tijdstip als een DateTimeOffset-waarde.

OData-functies worden gebruikt in een $filter component, maar niet in een $select component zoals ze worden gebruikt in een SQL-instructie.

U kunt bijvoorbeeld het volgende opgeven:

/WorkItems?$filter=toupper(Title) eq 'HELP' 

U kunt echter niet de volgende tekenreeks invoeren:

/WorkItems?$select=WorkItemId,State,toupper(Title)

Niet-ondersteunde functies

  • bottomcount
  • bottomsum
  • bottompercent
  • $crossjoin
  • concat
  • countdistinct
  • from
  • isdefined
  • $rollup
  • $search
  • topcount
  • topsum
  • toppercent