分享方式:


查詢趨勢數據

Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019

檢查數據的趨勢,以及進行期間比較是報告和數據分析的重要層面。 分析支持這些功能。

注意

所有 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 整合 和分析 服務的 OData 摘要 存取處於預覽狀態。 我們鼓勵您使用它,並提供意見反應給我們。

可用的數據與版本相關。 最新支援的版本是 v2.0,而最新的預覽版本是 v4.0-preview。 如需詳細資訊,請參閱 OData API 版本控制

趨勢數據會在 WorkItemSnapshot 和 WorkItemBoardSnapshot 實體集中公開。 它們會建構,因此每一個工作專案,從建立到今天為止,每天都存在。 對於一年前只建立一個工作項目的組織,此實體中有 365 個數據列。 對於大型專案,這些實體與用戶端工具一起使用是不切實際的。

解決方案為何? 使用匯總延伸模組

在本文中,您將瞭解:

  • 如何建構趨勢數據的基本查詢

使用 OData 匯總延伸模組,您可以從有利於報告的 Azure DevOps 傳回匯總數據。 例如,您可以顯示 3 月的 Bug 趨勢。 Bug 趨勢是管理任何專案的常見且關鍵部分,因此您可以立即將其置於良好的使用狀態。

注意

本檔案中所示的範例是以 Azure DevOps Services URL 為基礎,您必須在 Azure DevOps Server URL 中取代 。

https://{servername}:{port}/tfs/{OrganizationName}/{ProjectName}/_odata/{version}/

建構趨勢數據的基本查詢

您需要有一些基本需求,才能有效地查詢 WorkItemSnapshot 數據表:

  • 依日期篩選數據。
  • 匯總應該至少依日期分組。 如果沒有,回應將會有警告。

建立錯誤趨勢報表的查詢看起來像下列範例:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
  $apply=
    filter(DateValue ge 2016-03-01Z and DateValue le 2016-03-31Z and WorkItemType eq 'Bug')/
    groupby((DateValue,State), aggregate($count as Count))
  &$orderby=DateValue

它會傳回類似下列範例的結果:

{
  "@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
  "value": [
    {
      "@odata.id": null,
      "State": "Active",
      "DateValue": "2016-03-01T00:00:00-08:00",
      "Count": 2666
    },
    {
      "@odata.id": null,
      "State": "Closed",
      "DateValue": "2016-03-01T00:00:00-08:00",
      "Count": 51408
    }
  ]
}

此查詢最多 31 * (number of bug states)會產生 。 預設 Bug 有三種狀態:

  • 使用中
  • 已解決
  • 已關閉

不論有多少千筆記錄實際存在,此查詢最多都會傳回 93 個數據列。 它提供更精簡的傳回數據形式。

讓我們看看此範例的變化。 您想要查看反覆運算的 Bug 趨勢,或以一個反覆項目開頭的發行,並以另一個反覆運算結尾。

若要建構該查詢,請執行下列範例:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
  $apply=
    filter(WorkItemType eq 'Bug')/
    filter(Iteration/IterationName eq 'Sprint 99')/
    filter(DateValue ge Iteration/StartDate and (Iteration/EndDate eq null or DateValue le Iteration/EndDate))/
    groupby((DateValue, State), aggregate($count as Count))
  &$orderby=DateValue

它會傳回類似下列範例的結果:

{
  "@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
  "value": [
    {
      "@odata.id": null,
      "State": "Active",
      "DateValue": "2016-04-04T00:00:00-07:00",
      "Count": 320
    },
    {
      "@odata.id": null,
      "State": "Closed",
      "DateValue": "2016-04-04T00:00:00-07:00",
      "Count": 38
    }
  ]
}

在此查詢中,有兩個主要差異。 我們新增了篩選子句,以將數據篩選至特定反覆專案,而日期現在與反覆專案開始和結束日期比較,與硬式編碼日期比較。

注意

如果在快照集數據表的查詢中未使用匯總,您會看到警告「指定的查詢不包含建議用於所有查詢的$select或$apply子句。」。