Udostępnij za pośrednictwem


Obsługiwane funkcje i klauzule OData

Azure DevOps Services | Azure DevOps Server 2022 r. — Azure DevOps Server 2019 r.

W tym artykule opisano, jak usługa Analytics obsługuje kilka funkcji OData. Na liście znajdują się również nieobsługiwane funkcje. 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 dowiedzieć się więcej, zobacz dokumentację OData.

Uwaga

Usługa Analytics jest automatycznie włączona i obsługiwana w środowisku produkcyjnym dla wszystkich 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 nam 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 w Azure DevOps Server 2020 r. i nowszych wersjach. 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 nam opinii. W przypadku uaktualnienia z 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 Azure DevOps Server 2019 r. 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 nam 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 zwracanych jest pięć pierwszych 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

Pobiera sekwencję przekształceń zestawów oddzielonych ukośnikami, aby wyrazić, że są one kolejno stosowane. 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łcenia Uwagi
aggregate Umożliwia agregację przy użyciu jednej z następujących metod$count, , averagemax, , 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 Umożliwia 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ę drugą wartością 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 pozycję 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ęść godziny 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