Obsługiwane funkcje i klauzule OData
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
W tym artykule opisano, jak usługa Analytics obsługuje kilka funkcji OData. Nieobsługiwane funkcje są również wyświetlane. OData (Open Data Protocol) to zatwierdzony standard ISO/IEC, który definiuje najlepsze rozwiązania dotyczące tworzenia i używania interfejsów API REST. Aby uzyskać więcej informacji, zobacz dokumentację OData.
Uwaga
Usługa Analytics jest automatycznie włączona i obsługiwana w środowisku produkcyjnym dla wszystkich usług Azure DevOps Services. Integracja usługi Power BI i dostęp do źródła danych OData usługi Analytics są ogólnie dostępne. Zachęcamy do korzystania z niego i przekazywania opinii.
Dostępne dane są zależne od wersji. Najnowsza obsługiwana wersja to v2.0
, a najnowsza wersja zapoznawcza to v4.0-preview
. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji interfejsu API OData.
Uwaga
Usługa Analytics jest automatycznie instalowana i obsługiwana w środowisku produkcyjnym dla wszystkich nowych kolekcji projektów dla usługi Azure DevOps Server 2020 i nowszych wersji. Integracja usługi Power BI i dostęp do źródła danych OData usługi Analytics są ogólnie dostępne. Zachęcamy do korzystania z niego i przekazywania opinii. W przypadku uaktualnienia z usługi Azure DevOps Server 2019 możesz zainstalować usługę Analytics podczas uaktualniania.
Dostępne dane są zależne od wersji. Najnowsza obsługiwana wersja to v2.0
, a najnowsza wersja zapoznawcza to v4.0-preview
. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji interfejsu API OData.
Uwaga
Usługa Analytics jest dostępna w wersji zapoznawczej dla usługi Azure DevOps Server 2019. Możesz ją włączyć lub zainstalować dla kolekcji projektów. Integracja usługi Power BI i dostęp do źródła danych OData usługi Analytics są dostępne w wersji zapoznawczej. Zachęcamy do korzystania z niego i przekazywania opinii.
Dostępne dane są zależne od wersji. Najnowsza obsługiwana wersja to v2.0
, a najnowsza wersja zapoznawcza to v4.0-preview
. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji interfejsu API OData.
Obsługiwane klauzule
$apply
$compute
$count
$expand
$filter
$orderby
$select
$skip
$top
Jeśli w zapytaniu jest używanych wiele klauzul, są one stosowane w kolejności określonej powyżej. Kolejność klauzul w ciągu zapytania jest ignorowana. Na przykład w poniższym zapytaniu elementy robocze są najpierw pogrupowane i agregowane. Następnie grupy są filtrowane. Następnie przefiltrowane grupy są sortowane. Na koniec zwracane są pierwsze pięć rekordów. Zapytanie zwraca pięć pierwszych typów elementów roboczych używanych co najmniej 100 razy.
WorkItems?$filter=Count ge 100&$apply=groupby((WorkItemType), aggregate($count as Count))&$orderby=Count&top=5
Obsługa rozszerzeń agregacji
Przyjmuje sekwencję przekształceń zestawów oddzielonych ukośnikami do przodu, aby wyrazić, że są one stosowane kolejno. Wynikiem każdej transformacji jest dane wejściowe do następnej transformacji. Na przykład w poniższym zapytaniu elementy robocze są filtrowane, a następnie grupowane według typu i stanu elementu roboczego. Następnie grupy są filtrowane i grupowane ponownie.
Uwaga
Rozszerzenia agregacji OData są stosunkowo nowe i nie są jeszcze w pełni obsługiwane przez niektóre narzędzia klienckie.
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))
Obsługiwane są następujące przekształcenia:
Przekształcenie | Uwagi |
---|---|
aggregate |
Umożliwia agregację przy użyciu jednej z następujących metod $count , , average max , , min sum |
compute |
Umożliwia dodawanie właściwości obliczeniowych |
expand |
Zezwala na rozszerzanie według określonych właściwości |
filter |
Umożliwia filtrowanie zestawu danych wejściowych. Obsługuje te same wyrażenia co $filter |
groupby |
Zezwala na grupowanie według właściwości |
Aby uzyskać więcej informacji, zobacz Agregowanie danych śledzenia pracy.
Obsługiwane funkcje
Canonical, funkcja | opis |
---|---|
cast |
Zwraca wyrażenie rzutowania bieżącego wystąpienia na określony typ. |
contains |
Zwraca wartość true, jeśli druga wartość ciągu parametru jest podciągem pierwszej wartości ciągu parametru, w przeciwnym razie zwraca wartość false. |
endswith |
Zwraca wartość true, jeśli pierwsza wartość ciągu parametru kończy się wartością drugiego ciągu parametru, w przeciwnym razie zwraca wartość false. |
startswith |
Zwraca wartość true, jeśli pierwsza wartość ciągu parametru rozpoczyna się od drugiej wartości ciągu parametru, w przeciwnym razie zwraca wartość false. |
length |
Zwraca liczbę znaków w wartości parametru. |
indexof |
Zwraca położenie znaku zerowego pierwszego wystąpienia drugiej wartości parametru w pierwszej wartości parametru lub -1, jeśli druga wartość parametru nie występuje w pierwszej wartości parametru. |
substring |
Zwraca podciąg pierwszej wartości ciągu parametru, zaczynając od znaku Nth i kończąc na ostatnim znaku (gdzie N jest drugą wartością całkowitą parametru). |
tolower |
Zwraca wartość ciągu parametru wejściowego ze wszystkimi wielkimi znakami przekonwertowanymi na małe litery. |
toupper |
Zwraca wartość ciągu parametru wejściowego ze wszystkimi małymi literami przekonwertowanymi na wielkie litery. |
trim |
Zwraca wartość ciągu parametru wejściowego ze wszystkimi znakami wiodącymi i końcowymi odstępów. |
year |
Zwraca składnik roku wartości parametru Date lub DateTimeOffset. |
month |
Zwraca składnik miesiąca wartości parametru Date lub DateTimeOffset. |
day |
Zwraca składnik dnia wartości parametru Date lub DateTimeOffset. |
date |
Zwraca część daty wartości parametru DateTimeOffset. |
time |
Zwraca część czasu wartości parametru DateTimeOffset. |
totaloffsetminutes |
Zwraca podpisaną liczbę minut w części przesunięcia strefy czasowej wartości parametru DateTimeOffset. |
now |
Zwraca bieżący punkt w czasie (data i godzina ze strefą czasową) jako wartość DateTimeOffset. |
maxdatetime |
Zwraca najnowszy możliwy punkt w czasie jako wartość DateTimeOffset. |
mindatetime |
Zwraca najwcześniejszy możliwy punkt w czasie jako wartość DateTimeOffset. |
Funkcje OData są używane w klauzuli $filter
, ale nie w $select
klauzuli sposób ich użycia w instrukcji SQL.
Można na przykład określić:
/WorkItems?$filter=toupper(Title) eq 'HELP'
Nie można jednak wprowadzić następującego ciągu:
/WorkItems?$select=WorkItemId,State,toupper(Title)
Nieobsługiwane funkcje
bottomcount
bottomsum
bottompercent
$crossjoin
concat
countdistinct
from
isdefined
$rollup
$search
topcount
topsum
toppercent