Dela via


OData-funktioner och -satser som stöds

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Den här artikeln beskriver hur Analytics stöder flera OData-funktioner. Funktioner som inte stöds visas också. OData (Open Data Protocol) är en ISO/IEC-godkänd OASIS-standard som definierar metodtips för att skapa och använda REST-API:er. Mer information finns i OData-dokumentationen.

Anteckning

Analytics-tjänsten aktiveras automatiskt och stöds i produktion för alla Azure DevOps Services. Power BI-integrering och åtkomst till OData-flödet i Analytics Service är allmänt tillgängliga. Vi rekommenderar att du använder den och ger oss feedback. Tillgängliga data är versionsberoende. Den senaste versionen som stöds är v2.0, och den senaste förhandsversionen är v4.0-preview. Mer information finns i OData API-versionshantering.

Anteckning

Analytics-tjänsten installeras automatiskt och stöds i produktion för alla nya projektsamlingar för Azure DevOps Server 2020 och senare versioner. Power BI-integrering och åtkomst till OData-flödet i Analytics Service är allmänt tillgängliga. Vi rekommenderar att du använder den och ger oss feedback. Om du har uppgraderat från Azure DevOps Server 2019 kan du installera Analytics-tjänsten under uppgraderingen.

Tillgängliga data är versionsberoende. Den senaste versionen som stöds är v2.0, och den senaste förhandsversionen är v4.0-preview. Mer information finns i OData API-versionshantering.

Anteckning

Analytics-tjänsten är en förhandsversion för Azure DevOps Server 2019. Du kan aktivera eller installera den för en projektsamling. Power BI-integrering och åtkomst till OData-feeden för Analytics Service finns i förhandsversion. Vi rekommenderar att du använder den och ger oss feedback.

Tillgängliga data är versionsberoende. Den senaste versionen som stöds är v2.0, och den senaste förhandsversionen är v4.0-preview. Mer information finns i OData API-versionshantering.

Satser som stöds

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

När flera satser används i en fråga tillämpas de i den ordning som anges ovan. Ordningen på satser i frågesträngen ignoreras. I följande fråga grupperas till exempel arbetsobjekt först och aggregeras. Därefter filtreras grupperna. Därefter sorteras de filtrerade grupperna. Slutligen returneras de första fem posterna. Frågan returnerar de fem vanligaste typerna av arbetsobjekt som används minst 100 gånger.

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

Stöd för aggregeringstillägg

Det krävs en sekvens med uppsättningstransformeringar, avgränsade med snedstreck för att uttrycka att de tillämpas i följd. Resultatet av varje transformering är indata till nästa transformering. I följande fråga filtreras till exempel arbetsobjekt och grupperas sedan efter typ och tillstånd för arbetsobjekt. Därefter filtreras och grupperas grupperna igen.

Anteckning

OData-aggregeringstillägg är relativt nya och stöds ännu inte helt av vissa klientverktyg.

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

Följande transformeringar stöds:

Datatransformering Kommentarer
aggregate Tillåter aggregering med någon av följande metoder $count, average, max, , minsum
compute Tillåter att beräknade egenskaper läggs till
expand Tillåter expansion efter angivna egenskaper
filter Tillåter filtrering av indatauppsättning. Stöder samma uttryck som $filter
groupby Tillåter gruppering efter egenskaper

Mer information finns i Sammanställa arbetsspårningsdata.

Funktioner som stöds

Kanonisk funktion Beskrivning
cast Returnerar uttrycket för den aktuella instansen till den angivna typen.
contains Returnerar sant om det andra parametersträngvärdet är en delsträng av det första parametersträngvärdet, annars returneras falskt.
endswith Returnerar sant om det första parametersträngvärdet slutar med det andra parametersträngvärdet, annars returneras falskt.
startswith Returnerar sant om det första parametersträngvärdet börjar med det andra parametersträngvärdet, annars returneras falskt.
length Returnerar antalet tecken i parametervärdet.
indexof Returnerar den nollbaserade teckenpositionen för den första förekomsten av det andra parametervärdet i det första parametervärdet eller -1 om det andra parametervärdet inte inträffar i det första parametervärdet.
substring Returnerar en delsträng av det första parametersträngvärdet, med början vid Nth-tecknet och slut på det sista tecknet (där N är det andra parameter heltalsvärdet).
tolower Returnerar strängvärdet för indataparametern med alla versaler konverterade till gemener.
toupper Returnerar strängvärdet för indataparametern med alla gemener konverterade till versaler.
trim Returnerar strängvärdet för indataparametern med alla inledande och avslutande blankstegstecken.
year Returnerar årskomponenten för parametervärdet Date eller DateTimeOffset.
month Returnerar månadskomponenten för parametervärdet Date eller DateTimeOffset.
day Returnerar dagkomponenten för parametervärdet Date eller DateTimeOffset.
date Returnerar datumdelen av parametervärdet DateTimeOffset.
time Returnerar tidsdelen av parametervärdet DateTimeOffset.
totaloffsetminutes Returnerar det signerade antalet minuter i tidszonens förskjutningsdel av parametervärdet DateTimeOffset.
now Returnerar den aktuella tidpunkten (datum och tid med tidszon) som ett DateTimeOffset-värde.
maxdatetime Returnerar den senaste möjliga tidpunkten som ett DateTimeOffset-värde.
mindatetime Returnerar den tidigaste möjliga tidpunkten som ett DateTimeOffset-värde.

OData-funktioner används i en $filter -sats, men inte i en $select -sats på det sätt som de skulle användas i en SQL-instruktion.

Du kan till exempel ange:

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

Du kan dock inte ange följande sträng:

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

Funktioner som inte stöds

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