支援的 OData 函式和子句
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
本文涵蓋 Analytics 如何支援數個 OData 函式。 也列出不支援的函式。 OData (開放式資料通訊協定) 是 ISO/IEC 核准的 OASIS 標準,可定義建置及取用 REST API 的最佳做法。 若要深入瞭解,請參閱 OData 檔。
注意
所有Azure DevOps Services的生產環境中都會自動啟用及支援 Analytics 服務。 Power BI 整合及存取 Analytics Service 的OData 摘要已正式推出。 我們鼓勵您使用它,並提供意見反應給我們。
可用的資料與版本相關。 最新支援的版本是 v2.0
,而最新的預覽版本是 v4.0-preview
。 如需詳細資訊,請參閱 OData API 版本設定。
注意
Azure DevOps Server 2020 版和更新版本的所有新專案集合,都會在生產環境中自動安裝及支援 Analytics 服務。 Power BI 整合及存取 Analytics Service 的OData 摘要已正式推出。 我們鼓勵您使用它,並提供意見反應給我們。 如果您從 Azure DevOps Server 2019 升級,您可以在升級期間安裝 Analytics 服務。
可用的資料與版本相關。 最新支援的版本是 v2.0
,而最新的預覽版本是 v4.0-preview
。 如需詳細資訊,請參閱 OData API 版本設定。
注意
Azure DevOps Server 2019 的 Analytics 服務處於預覽狀態。 您可以為專案集合 啟用或安裝它 。 Power BI 整合 及存取 Analytics Service 的 OData 摘要 處於預覽狀態。 我們鼓勵您使用它,並提供意見反應給我們。
可用的資料與版本相關。 最新支援的版本是 v2.0
,而最新的預覽版本是 v4.0-preview
。 如需詳細資訊,請參閱 OData API 版本設定。
支援的子句
$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 、、 average 、 max 、 min sum |
compute |
允許新增匯出屬性 |
expand |
允許依指定的屬性擴充 |
filter |
允許篩選輸入集。 支援與 相同的運算式 $filter |
groupby |
允許依屬性分組 |
如需詳細資訊,請參閱 匯總工作追蹤資料。
支援的函數
標準函式 | 描述 |
---|---|
cast |
傳回目前實例轉換成指定之型別的運算式。 |
contains |
如果第二個參數字串值是第一個參數字串值的子字串,則傳回 true,否則會傳回 false。 |
endswith |
如果第一個參數字串值以第二個參數字串值結尾,則傳回 true,否則會傳回 false。 |
startswith |
如果第一個參數字串值以第二個參數字串值開頭,則傳回 true,否則會傳回 false。 |
length |
傳回參數值中的字元數。 |
indexof |
傳回第一個參數值中第一次出現第二個參數值之以零起始的字元位置,如果第二個參數值未出現在第一個參數值中,則傳回 -1。 |
substring |
傳回第一個參數字串值的子字串,從第 N 個字元開始,並在最後一個字元完成 (,其中 N 是第二個參數整數值) 。 |
tolower |
傳回輸入參數字串值,且所有大寫字元都轉換成小寫。 |
toupper |
傳回輸入參數字串值,其中包含轉換成大寫的所有小寫字元。 |
trim |
傳回具有所有前置和尾端空白字元的輸入參數字串值。 |
year |
會傳回 Date 或 DateTimeOffset 參數值的年份元件。 |
month |
會傳回 Date 或 DateTimeOffset 參數值的月份元件。 |
day |
會傳回 Date 或 DateTimeOffset 參數值的 day 元件。 |
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
相關文章
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: