共用方式為


轉換分析數據以產生 Power BI 報表

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

將分析數據匯入 Power BI 之後,您可能需要在建立報表之前轉換選取的數據行數據。 本文說明如何執行其中一些基本工作,例如:

  • 擴展欄位,例如 AreaAssignedToIteration
  • 查詢連結的工作項目時展開子系數據行
  • 樞紐欄位以生成選定類別狀態的計數
  • 將數據行數據類型從十進位轉換成整數
  • 將欄位數據中的 null 值替換掉
  • 建立自定義欄位
  • 重新命名字段。

先決條件

類別 要求
存取層級 - 專案成員
- 至少 基本 權限。
許可權 根據預設,項目成員具有查詢分析及建立檢視的許可權。 如需有關服務與功能啟用和一般數據追蹤活動之其他必要條件的詳細資訊,請參閱 存取 Analytics的許可權和必要條件。

展開欄位

此查詢會傳回多個欄位,您需要先展開這些欄位,才能在 Power BI 中使用。 使用 OData $expand 語句提取的任何實體,會傳回具有可能數個字段的記錄。 您必須展開記錄,以將實體扁平化為其欄位。 這類實體的範例包括: AssignedTo反覆運算區域

在關閉進階編輯器後,並保留在Power Query 編輯器中,選取您需要扁平化的實體上的展開按鈕。

  1. 例如,選擇 [區域] 的展開按鈕、選取您要展開的屬性,然後選擇 [確定]。 在這裡,我們選擇 AreaNameAreaPath 扁平化。 屬性類似於 [AreaName節點名稱] 欄位。

    Power BI 轉換數據的螢幕快照,展開 AreaPath 數據行。

    注意

    要選取的可用屬性取決於要求在查詢中傳回的屬性。 如果您未指定任何屬性,則所有屬性都可以使用。 如需這些屬性的詳細資訊,請參閱下列元數據參考: 區域反覆專案和 使用者

  2. 資料表現在包含實體欄位。

    展開區域欄的螢幕截圖。

  3. 針對代表需要擴充之實體的所有字段重複步驟 1 到 3。 這些在未展開時會出現在表格欄中,列示 Record

展開後代欄

子系欄包含具有兩個欄位的資料表:StateTotalStoryPoints。 展開它。

  1. 選擇 [ 展開] 按鈕,然後選取要報告的數據列:

    Power BI 子代欄的螢幕快照。

  2. 檢查所有數據行,然後選擇 [ 確定]。

    Power BI 子系數據行的螢幕快照,展開選項。

  3. 子代實體會被扁平化為選定的欄位:

    Power BI 展開子系資料行的螢幕截圖。

Pivot Descendants.StateCategory 數據行

  1. 選取 1Descendants.StateCategory1 欄位標題來選取它。

  2. 選取[轉換] 功能表,然後[樞紐分析列] [轉換] 功能表、[樞紐列] 選項。

  3. 在 [樞紐數據行] 對話框中,針對 [] 選取 Descendants.TotalStoryPoints,然後按 [確定]。 Power BI 會為每個 StateCategory 值建立一個數據行。

    用於 Descendants.TotalStoryPoints 欄位的樞紐對話框。

  1. 選取資料行上的 Links 展開按鈕。

    Power BI 鏈接資料行的螢幕快照,展開選項。

  2. 選取要扁平化的所有欄位。

    Power BI 鏈接資料行的螢幕快照,展開選項。

  3. 選取數據行上的 Links.TargetWorkItem 展開按鈕,然後選取要扁平化的屬性。

    Power BI Links.TargetWorkItem 數據行的螢幕快照,展開選項。

注意

如果連結代表一對多或多對多關聯性,則多個鏈接會展開至多個數據列,每個連結各一個。

例如,如果工作專案 #1 連結至工作專案 #2 和 #3,則當您展開連結記錄時,工作專案 #1 會顯示 2 行記錄。 其中一個表示它與工作項目 #2 的連結,另一個表示它與工作項目 #3 的連結。

轉換欄位資料類型

將 LeadTimeDays 和 CycleTimeDays 轉換為整數

LeadTimeDaysCycleTimeDays 是十進位欄位。 例如,如果 交貨時間 是 10.5 天,則值為 10.5。 由於大部分的前置/週期時間報告假設其四捨五入到最近的一天,因此我們需要將這些欄位轉換成整數。 進行這項轉換會將小於 1 的所有值轉換成 0。

在 Power Query 編輯器中,選取功能區的[轉換]功能表。

  1. 選取LeadTimeDays列,方法是選取欄標頭。

  2. 選取 [數據類型 ],然後變更為 [整數]。

    Power BI 轉換功能表的螢幕快照:資料類型選擇。

  3. 重複CycleTimeDays

將 CompletedDateSK 變更為日期欄位

欄位CompletedDateSK數據會以YYYYMMDD格式對應於作為整數呈現的已完成日期欄位。 例如,2022-July-01 的整數值是20220701。 為了方便報告,我們會將其變更為 [日期] 欄位。

在 Power Query 編輯器中,選取功能區選單 [轉換]。

  1. 選取 CompletedDateSK 欄標頭。

  2. 選取 [數據類型 ],然後變更為 [文字]。 當 [變更數據行類型] 對話框出現時,請選取 [新增步驟] (而不是 [取代目前的步驟]。 此雙步驟程式是將它變更為 Power BI 中適當 日期 欄位的最簡單方式。

    Power BI 轉換功能表的螢幕快照,[變更數據行類型] 對話方塊。

  3. 接下來,再次選取 [日期類型 ],然後選擇 [ 日期]。 在 [ 變更數據行類型 ] 對話框中,選取 [ 新增步驟]。

取代值

有時候,一或多個記錄可能包含 Null 值。 例如,可能尚未輸入 故事點剩餘工時的值。

Power BI 數據表的螢幕快照,其中包含 Null 值。

為了方便報告,請遵循下列步驟,以零取代 Null。

  1. 點擊欄位標題以選取該欄。
  2. 選取 [ 轉換 ] 功能表。
  3. 選取 取代值。 在 [取代值] 對話框中:
    • 在「要尋找的值」中輸入「null」。
    • 取代為 中輸入 “0”。
  4. 選擇確定

建立自訂資料行

建立百分比完成度計算的計算欄位

在新增完成百分比欄位之前,請確定您已取代透視狀態欄位中的所有 Null 值。

  1. 選擇 新增資料行 選單。

  2. 選取 [自定義數據行]。

  3. 針對 新欄位名稱 輸入 PercentComplete

  4. 在 [自定義數據行公式] 中輸入下列內容。

    = [Completed]/([Proposed]+[InProgress]+[Resolved]+[Completed])
    

    自訂欄位對話框、PercentComplete 語法。

    注意

    如果工作項目沒有將狀態對應到已解析工作流程狀態類別,您可能無法看到已解析欄位。 如果是,請省略上述公式中的 “[Resolved]”。

  5. 按 [確定]

  6. 選取 轉換 功能表。

  7. 選取 [數據類型] ,然後選取 [ 百分比]。

重新命名欄位名稱

完成擴充之後,您可以選擇重新命名一或多個數據行。

  1. 在欄位標題上按滑鼠右鍵,然後選取重新命名...

    Power BI 重新命名數據行

  2. 輸入數據行欄位的新標籤,然後按 Enter 鍵。

關閉查詢並套用您的變更

完成所有數據轉換之後,請從 常用 功能表選擇 關閉及套用,以儲存查詢並返回 Power BI 中的 報表 分頁。

Power Query 編輯器 [關閉並套用] 選項的螢幕快照。