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.0
a 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.0
a 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.0
a 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 , min sum |
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