共用方式為


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

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

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

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

展開數據行

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

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

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

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

    注意

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

  2. 數據表現在包含實體欄位(s)。

    展開 [區域] 資料行的螢幕快照。

  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 值建立一個數據行。

    子系的樞紐數據行對話框。TotalStoryPoints 數據行。

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

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

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

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

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

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

注意

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

例如,如果工作專案 #1 連結至工作專案的 #2 和 #3,則當您展開 [連結] 記錄時,工作專案會有 2 個數據列 #1。 其中一個表示其工作項目連結 #2,另一個代表其工作項目連結 #3。

轉換數據行數據類型

將 LeadTimeDays 和 CycleTimeDays 轉換為整數

LeadTimeDays CycleTimeDays 是十進位欄位。 例如,如果 潛在客戶時間 是10天和1/2天,則值為10.5。 由於大部分的潛在客戶/週期時間報告假設其四捨五入到最近的一天,因此我們需要將這些欄位轉換成 Integer。 進行這項轉換會將小於 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 編輯器 [關閉並套用] 選項的螢幕快照。