サポートされている OData 関数と句
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
この記事では、Analytics が複数の OData 関数をサポートする方法について説明します。 サポートされていない関数も一覧表示されます。 OData (Open Data Protocol) は、REST API の構築と使用に関するベスト プラクティスを定義する ISO/IEC 承認済みの OASIS 標準です。 詳細については、 OData のドキュメントを参照してください。
Note
Analytics サービスは、すべての Azure DevOps Services で自動的に有効になり、運用環境でサポートされます。 Power BI の統合 Analytics サービスの OData フィード へのアクセスが一般公開されています。 お使いいただき、フィードバックをお寄せください。
使用可能なデータはバージョンによって異なります。 サポートされている最新バージョンが v2.0
され、最新のプレビュー バージョンが v4.0-preview
。 詳細については、 OData API のバージョン管理に関するページを参照してください。
Note
Analytics サービスは、Azure DevOps Server 2020 以降のすべての新しいプロジェクト コレクションに対して、運用環境で自動的にインストールされ、サポートされます。 Power BI の統合 Analytics サービスの OData フィード へのアクセスが一般公開されています。 お使いいただき、フィードバックをお寄せください。 Azure DevOps Server 2019 からアップグレードした場合は、アップグレード中に Analytics サービスをインストールできます。
使用可能なデータはバージョンによって異なります。 サポートされている最新バージョンが v2.0
され、最新のプレビュー バージョンが v4.0-preview
。 詳細については、 OData API のバージョン管理に関するページを参照してください。
Note
Analytics サービスは、Azure DevOps Server 2019 のプレビュー段階です。 プロジェクト コレクション 有効またはインストール できます。 Power BI 統合 Analytics Service の OData フィード へのアクセスはプレビュー段階です。 お使いいただき、フィードバックをお寄せください。
使用可能なデータはバージョンによって異なります。 サポートされている最新バージョンが v2.0
され、最新のプレビュー バージョンが v4.0-preview
。 詳細については、 OData API のバージョン管理に関するページを参照してください。
サポートされる句
$apply
$compute
$count
$expand
$filter
$orderby
$select
$skip
$top
クエリで複数の句を使用する場合は、上記で指定した順序で適用されます。 クエリ文字列内の句の順序は無視されます。 たとえば、次のクエリでは、作業項目が最初にグループ化されて集計されます。 次に、グループがフィルター処理されます。 その後、フィルター処理されたグループが並べ替えられます。 最後に、最初の 5 つのレコードが返されます。 クエリは、少なくとも 100 回使用された上位 5 種類の作業項目を返します。
WorkItems?$filter=Count ge 100&$apply=groupby((WorkItemType), aggregate($count as Count))&$orderby=Count&top=5
集計拡張機能のサポート
連続して適用されることを表すために、スラッシュで区切られた一連のセット変換が必要です。 各変換の結果は、次の変換への入力です。 たとえば、次のクエリでは、作業項目がフィルター処理され、作業項目の種類と状態によってグループ化されます。 次に、グループがフィルター処理され、再度グループ化されます。
Note
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 、average 、max 、min のいずれかの方法を使用した集計を許可します。sum |
compute |
計算プロパティの追加を許可します |
expand |
指定したプロパティによる拡張を許可します |
filter |
入力セットのフィルター処理を許可します。 と同じ式をサポートします。 $filter |
groupby |
プロパティによるグループ化を許可します |
詳細については、「 Aggregate 作業追跡データ」を参照してください。
サポートされる関数
正規関数 | 説明 |
---|---|
cast |
指定した型にキャストされている現在のインスタンスの式を返します。 |
contains |
2 番目のパラメーター文字列値が最初のパラメーター文字列値の部分文字列である場合は true を返し、それ以外の場合は false を返します。 |
endswith |
最初のパラメーター文字列値が 2 番目のパラメーター文字列値で終わる場合は true を返し、それ以外の場合は false を返します。 |
startswith |
最初のパラメーター文字列値が 2 番目のパラメーター文字列値で始まる場合は true を返し、それ以外の場合は false を返します。 |
length |
パラメーター値の文字数を返します。 |
indexof |
最初のパラメーター値で 2 番目のパラメーター値が最初に出現する位置の 0 から始まる文字位置を返します。2 番目のパラメーター値が最初のパラメーター値に含まれていない場合は -1 を返します。 |
substring |
最初のパラメーター文字列値の部分文字列を返します。N 番目の文字から始まり、最後の文字 (N は 2 番目のパラメーター整数値) で終了します。 |
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
句で使用されますが、SQL ステートメントで使用される $select
句では使用されません。
たとえば、次のように指定できます。
/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