分享方式:


分析檢視數據集設計

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

每個分析檢視都會在Power BI 中定義數據集。 數據集是用來建立視覺效果的數據表和屬性。 Power BI Data Connector for Azure DevOps 所產生的數據集具有下列特性:

  • 分析中可用的實體和相關聯的欄位會扁平化(反正規化)成單一數據表。 例如,「建立者」中的用戶名稱會模型化為字串(用戶名稱),而不是使用者標識元。 它不需要建立數據表之間的關聯性,以建立報表。
  • 歷程記錄數據會模型化為每個時間週期的快照集,因此趨勢報告很簡單。

如需 Power BI 和數據集的詳細資訊,請參閱 Power BI - Power BI 服務 的基本概念。

扁平化 Analytics OData 端點

Analytics OData 端點提供分析數據的正規化表示法。 數據正規化主要是為了支援報告數據之間存在的「多對多」關聯性,例如工作專案和相關聯的標記。

Power BI 資料連接器將此數據表示為單一數據表,因此我們的 分析數據模型中 顯示的關聯性不需要在 Power BI 中重新建立。 此表示法可讓您立即篩選複雜欄位,例如工作項目標記。

此程式可大幅簡化報表啟動並執行。 不過,並非所有可透過 Analytics OData 端點取得的欄位都可以在 Analytics 檢視中進行選取。

[分析] 檢視中的可選取欄位

您可以在分析檢視中選取的欄位會對應至一般工作追蹤欄位和 Analytics 資料存放區欄位。

工作追蹤欄位

您可以在 [分析] 檢視中選取所有工作追蹤欄位,但下列欄位除外:

  • 不屬於 建立檢視之專案的 欄位
  • 具有 HTML 數據類型的長文字欄位,例如描述、歷程記錄和其他欄位
  • 工作項目連結計數位段,例如 ExternalLinkCount、HyperLinkCount、AttachedFileCount、RelatedLinkCount
  • 特定的 REST API 字段,例如浮水印、IsDeleted
  • 具有 多對多 關聯性的欄位,例如 Team、Board 資料行、面板名稱

重要

身分識別或人員名稱欄位,例如 [建立者]、[指派給] 等,都是可選取的欄位,不過您目前無法選取這些字段做為字段準則,以便篩選工作專案。

如需每個工作項目追蹤欄位的描述,請參閱 Azure Boards 的實體和屬性參考。

分析數據存放區欄位

您可以在 [分析] 檢視中選取下列以分析為基礎的欄位:

欄位 描述
週期時間 工作項目從狀態類別「進行中」移至「已完成」的時間。
日期(自動隨附於歷程記錄中) 支持檢視已篩選工作專案集的每日、每周或每月記錄。
是目前 (自動包含在歷程記錄中) 支援藉由將 值設定為 True,篩選數據以檢視已篩選工作專案集的最新快照集。
前置時間 工作項目從狀態類別「建議」移至「已完成」的時間。
父工作項目標識碼 工作專案的父代工作專案標識碼。
專案名稱 相當於專案欄位。
修訂 指派給工作項目歷程記錄修訂的數位。
標籤 以分號分隔的標記清單。
WorkItemRevisionSK 用於聯結相關實體之工作專案修訂的分析唯一索引鍵。

如需狀態類別的資訊,請參閱 工作流程狀態和狀態類別。 如需分析數據模型的詳細資訊,請參閱 分析的數據模型。

若要存取透過 Analytics 取得的任何其他欄位,請在分析檢視中包含對應的 Surrogate 密鑰 (SK) 或工作專案識別碼。 然後,根據 Analytics Navigational 屬性建立必要的對應數據表。

  • 反覆專案 (反覆專案)
  • 區域 (AreaSK)
  • Teams (AreaSK - 根據 Teams 導覽屬性產生對應資料表)
  • BoardLocations (AreaSK - 根據 BoardLocations 導覽屬性產生對應數據表)
  • 日期 (DateSK)
  • 行程 (AreaSK - 根據 行程 導覽屬性產生對應資料表)
  • WorkItemLinks (工作專案識別符)

資料關聯性

瞭解分析數據模型對於建立實體之間的良好關聯性至關重要。

根據預設,從 Analytics 傳回基本數據時,數據會相關,如下圖所示:

實體關聯

標籤、Teams使用者與任何其他數據無關。 它與這些實體的關聯性相關。 它們可能以幾種方式相關:

  • 這些模型中不容易處理的多對多關聯性
  • 實體之間有多個關聯性,例如使用者與工作專案之間的關聯性。 其相關方式如下:
    • 指派至
    • 建立者
    • 變更者
    • 依此類推…

您可以直接處理多個關聯性。 例如,在預設模型中,您可以編輯查詢、選取 WorkItems 數據表的 AssignedTo 數據行,並展開數據行以包含 Users 數據表中的所有數據,而且您也可以針對 [建立者] 和 [變更依據] 資料行重複此程式。 它可讓您從一個數據表到另一個數據表有多個連結,但不允許。

以這種方式擴充數據行的另一個原因是處理不允許的循環關聯性。 例如,採用下列路徑:專案 > 區域 > 工作項目 > 專案。 它呈現典型的循環問題。 如果您想要查看哪些是指定專案的一部分,該怎麼辦? 建置的模型在 Areas 和 Work Items 和 Projects 和 Work Items 之間具有關聯性,但專案無法與 Areas 相關,因為該模型會完成迴圈關聯性,因此不允許。 若要處理此案例,您可以展開 Areas 資料表中的 [專案] 資料行。 若要這樣做,請執行下列步驟:

  1. 從 [常用] 索引標籤選取 [編輯查詢]。

  2. 選取 [ 區域] 查詢

  3. 捲動至 [專案] 資料行 (最後一個數據行),然後選取數據行頂端的 [展開] 圖示。

    區域查詢、項目數據行

  4. 取消核取 ProjectName 以外的所有數據行,然後選取 [確定]。

    展開 [專案] 選項

現在您可以依專案列出區域,並取得每個專案中的區域計數。