Поддерживаемые функции и предложения OData
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
В этой статье описывается, как Аналитика поддерживает несколько функций OData. Также перечислены неподдерживаемые функции. OData (Open Data Protocol) — это утвержденный стандарт ISO/IEC, который определяет рекомендации по созданию и использованию REST API. Дополнительные сведения см . в документации по OData.
Примечание.
Служба Аналитики автоматически включается и поддерживается в рабочей среде для всех Служб Azure DevOps Services. Интеграция Power BI и доступ к веб-каналу OData службы Аналитики общедоступны. Мы рекомендуем вам использовать его и дать нам отзыв.
Доступные данные зависят от версий. Последняя поддерживаемая версия: v2.0
последняя предварительная версия v4.0-preview
. Дополнительные сведения см. в разделе "Управление версиями API OData".
Примечание.
Служба Аналитики автоматически устанавливается и поддерживается в рабочей среде для всех новых коллекций проектов для Azure DevOps Server 2020 и более поздних версий. Интеграция Power BI и доступ к веб-каналу OData службы Аналитики общедоступны. Мы рекомендуем вам использовать его и дать нам отзыв. При обновлении с Azure DevOps Server 2019 можно установить службу Аналитики во время обновления.
Доступные данные зависят от версий. Последняя поддерживаемая версия: v2.0
последняя предварительная версия v4.0-preview
. Дополнительные сведения см. в разделе "Управление версиями API OData".
Примечание.
Служба Аналитики доступна в предварительной версии для Azure DevOps Server 2019. Его можно включить или установить для коллекции проектов. Интеграция Power BI и доступ к веб-каналу OData службы аналитики находятся в предварительной версии. Мы рекомендуем вам использовать его и дать нам отзыв.
Доступные данные зависят от версий. Последняя поддерживаемая версия: v2.0
последняя предварительная версия v4.0-preview
. Дополнительные сведения см. в разделе "Управление версиями API OData".
Поддерживаемые предложения
$apply
$compute
$count
$expand
$filter
$orderby
$select
$skip
$top
Если в запросе используется несколько предложений, они применяются в указанном выше порядке. Порядок предложений в строке запроса игнорируется. Например, в следующем запросе рабочие элементы сначала группируются и агрегируются. Затем группы отфильтруются. После этого отсортированы отфильтрованные группы. Наконец, возвращаются первые пять записей. Запрос возвращает первые пять типов рабочих элементов, используемых по крайней мере 100 раз.
WorkItems?$filter=Count ge 100&$apply=groupby((WorkItemType), aggregate($count as Count))&$orderby=Count&top=5
Поддержка расширений агрегирования
Он принимает последовательность преобразований набора, разделенных косыми чертами вперед, чтобы выразить, что они применяются последовательно. Результатом каждого преобразования является входное значение следующего преобразования. Например, в следующем запросе рабочие элементы фильтруются, а затем группируются по типу и состоянию рабочего элемента. Затем группы фильтруются и группируются снова.
Примечание.
Расширения агрегирования OData являются относительно новыми и еще не полностью поддерживаются некоторыми клиентскими средствами.
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))
Поддерживаются следующие преобразования:
Преобразование | Примечания. |
---|---|
aggregate |
Позволяет агрегирование с помощью одного из следующих методов $count , , max average , min sum |
compute |
Позволяет добавлять вычисляемые свойства |
expand |
Разрешает расширение по указанным свойствам |
filter |
Позволяет фильтровать входной набор. Поддерживает те же выражения, что и $filter |
groupby |
Разрешает группирование по свойствам |
Дополнительные сведения см. в разделе "Статистические данные отслеживания работы".
Поддерживаемые функции
Каноническая функция | Description |
---|---|
cast |
Возвращает выражение текущего экземпляра, приведения к указанному типу. |
contains |
Возвращает значение true, если второе строковое значение параметра является подстрокой первого строкового значения параметра, в противном случае возвращается значение false. |
endswith |
Возвращает значение true, если первое строковое значение параметра заканчивается вторым строковым значением параметра, в противном случае возвращает значение false. |
startswith |
Возвращает значение true, если первое строковое значение параметра начинается со второго строкового значения параметра, в противном случае возвращает значение false. |
length |
Возвращает количество символов в значении параметра. |
indexof |
Возвращает отсчитываемое от нуля положение первого вхождения второго значения параметра в значении первого параметра или -1, если значение второго параметра не происходит в первом значении параметра. |
substring |
Возвращает подстроку первого строкового значения параметра, начиная с символа Nth и заканчивая последним символом (где N является вторым целочисленным значением параметра). |
tolower |
Возвращает строковое значение входного параметра со всеми символами верхнего регистра, преобразованными в нижний регистр. |
toupper |
Возвращает строковое значение входного параметра со всеми строчными символами, преобразованными в верхний регистр. |
trim |
Возвращает строковое значение входного параметра со всеми начальными и конечными символами пробелов. |
year |
Возвращает компонент года значения параметра Date или DateTimeOffset. |
month |
Возвращает компонент месяца значения параметра Date или DateTimeOffset. |
day |
Возвращает компонент дня значения параметра Date или DateTimeOffset. |
date |
Возвращает часть даты значения параметра DateTimeOffset. |
time |
Возвращает часть времени значения параметра DateTimeOffset. |
totaloffsetminutes |
Возвращает подписанное число минут в части смещения часового пояса значения параметра DateTimeOffset. |
now |
Возвращает текущую точку времени (дату и время с часовыми поясами) в качестве значения DateTimeOffset. |
maxdatetime |
Возвращает последнюю возможную точку во времени в качестве значения DateTimeOffset. |
mindatetime |
Возвращает самый ранний возможный момент времени в качестве значения DateTimeOffset. |
Функции OData используются в $filter
предложении, но не в $select
предложении так, как они будут использоваться в инструкции SQL.
Например, можно указать следующее:
/WorkItems?$filter=toupper(Title) eq 'HELP'
Однако нельзя ввести следующую строку:
/WorkItems?$select=WorkItemId,State,toupper(Title)
Неподдерживаемые функции
bottomcount
bottomsum
bottompercent
$crossjoin
concat
countdistinct
from
isdefined
$rollup
$search
topcount
topsum
toppercent