Sdílet prostřednictvím


Podporované funkce a klauzule OData

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

Tento článek popisuje, jak Analýza podporuje několik funkcí OData. V seznamu jsou uvedeny také nepodporované funkce. OData (Open Data Protocol) je standard ISO/IEC schválený standardEM OASIS, který definuje osvědčené postupy pro sestavování a využívání rozhraní REST API. Další informace najdete v dokumentaci k OData.

Poznámka:

Služba Analytics je automaticky povolená a podporovaná v produkčním prostředí pro všechny služby Azure DevOps Services. Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou obecně dostupné. Doporučujeme, abyste ho používali a poskytli nám zpětnou vazbu. Dostupná data jsou závislá na verzi. Nejnovější podporovaná verze je v2.0a nejnovější verze Preview je v4.0-preview. Další informace najdete v tématu Správa verzí rozhraní API OData.

Poznámka:

Služba Analytics se automaticky nainstaluje a podporuje v produkčním prostředí pro všechny nové kolekce projektů pro Azure DevOps Server 2020 a novější verze. Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou obecně dostupné. Doporučujeme, abyste ho používali a poskytli nám zpětnou vazbu. Pokud jste upgradovali z Azure DevOps Serveru 2019, můžete během upgradu nainstalovat službu Analytics.

Dostupná data jsou závislá na verzi. Nejnovější podporovaná verze je v2.0a nejnovější verze Preview je v4.0-preview. Další informace najdete v tématu Správa verzí rozhraní API OData.

Poznámka:

Služba Analytics je ve verzi Preview pro Azure DevOps Server 2019. Můžete ji povolit nebo nainstalovat pro kolekci projektů. Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou ve verzi Preview. Doporučujeme, abyste ho používali a poskytli nám zpětnou vazbu.

Dostupná data jsou závislá na verzi. Nejnovější podporovaná verze je v2.0a nejnovější verze Preview je v4.0-preview. Další informace najdete v tématu Správa verzí rozhraní API OData.

Podporované klauzule

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

Pokud se v dotazu používá více klauzulí, použijí se v pořadí uvedeném výše. Pořadí klauzulí v řetězci dotazu se ignoruje. Například v následujícím dotazu jsou pracovní položky nejprve seskupené a agregované. V dalším kroku se skupiny filtrují. Potom se filtrované skupiny seřadí. Nakonec se vrátí prvních pět záznamů. Dotaz vrátí prvních pět typů pracovních položek použitých nejméně 100krát.

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

Podpora rozšíření agregace

Přebírá posloupnost transformací množiny oddělené lomítky, aby bylo možné vyjádřit, že se po sobě používají. Výsledkem každé transformace je vstup do další transformace. Například v následujícím dotazu se pracovní položky filtrují a seskupují podle typu a stavu pracovní položky. V dalším kroku se skupiny vyfiltrují a seskupí znovu.

Poznámka:

Rozšíření agregace OData jsou relativně nová a některé klientské nástroje zatím plně nepodporují.

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

Podporují se následující transformace:

Transformace Notes
aggregate Umožňuje agregaci pomocí jedné z následujících metod $count, average, max, minsum
compute Umožňuje přidat počítané vlastnosti.
expand Umožňuje rozšíření podle zadaných vlastností.
filter Povolí filtrování vstupní sady. Podporuje stejné výrazy jako $filter
groupby Umožňuje seskupování podle vlastností.

Další informace naleznete v tématu Agregace dat sledování práce.

Podporované funkce

Kanonická funkce Popis
cast Vrátí výraz přetypování aktuální instance na zadaný typ.
contains Vrátí hodnotu true, pokud je hodnota řetězce druhého parametru podřetězcem první hodnoty řetězce parametru, jinak vrátí hodnotu false.
endswith Vrátí hodnotu true, pokud první hodnota řetězce parametru končí druhou hodnotou řetězce parametru, jinak vrátí hodnotu false.
startswith Vrátí hodnotu true, pokud první hodnota řetězce parametru začíná druhou hodnotou řetězce parametru, jinak vrátí hodnotu false.
length Vrátí počet znaků v hodnotě parametru.
indexof Vrátí pozici znaku založenou na nule prvního výskytu druhé hodnoty parametru v první hodnotě parametru nebo -1, pokud druhá hodnota parametru nenastane v první hodnotě parametru.
substring Vrátí podřetězce první hodnoty řetězce parametru, počínaje Nth znakem a dokončením posledního znaku (kde N je druhá celočíselná hodnota parametru).
tolower Vrátí hodnotu řetězce vstupního parametru se všemi velkými písmeny převedenými na malá písmena.
toupper Vrátí hodnotu řetězce vstupního parametru se všemi malými písmeny převedenými na velká písmena.
trim Vrátí hodnotu řetězce vstupního parametru se všemi počátečními a koncovými znaky prázdných znaků.
year Vrátí komponentu roku hodnoty parametru Date nebo DateTimeOffset.
month Vrátí komponentu měsíce hodnoty parametru Date nebo DateTimeOffset.
day Vrátí komponentu dne hodnoty parametru Date nebo DateTimeOffset.
date Vrátí část data hodnoty parametru DateTimeOffset.
time Vrátí časovou část hodnoty parametru DateTimeOffset.
totaloffsetminutes Vrátí signed number of minutes in the time zone offset part of the DateTimeOffset parameter value.
now Vrátí aktuální bod v čase (datum a čas s časovým pásmem) jako hodnotu DateTimeOffset.
maxdatetime Vrátí nejnovější možný bod v čase jako hodnotu DateTimeOffset.
mindatetime Vrátí nejstarší možný bod v čase jako hodnotu DateTimeOffset.

Funkce OData se používají v $filter klauzuli, ale ne v $select klauzuli způsobem, jakým by se používaly v příkazu SQL.

Můžete například zadat:

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

Nemůžete ale zadat následující řetězec:

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

Nepodporované funkce

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