教學課程:在 Power BI Desktop 中塑造和合併資料

透過 Power BI Desktop,您可以連線到許多不同類型的資料來源,然後塑造資料以符合您的需求,讓您能夠建立視覺報表以與他人共用。 成形 資料表示轉換資料:重新命名資料行或資料表、將文字變更為數位、移除資料列、將第一個資料列設定為標頭等等。 結合資料表示連線到兩個或多個資料來源,並視需要加以成形,然後將它們合併成單一查詢。

在本教學課程中,您將了解如何:

  • 使用Power Query 編輯器來塑造資料。
  • 連線至不同的資料來源。
  • 結合這些資料來源,並建立要用於報表的資料模型。

本教學課程示範如何使用 Power BI Desktop 塑造查詢,並醒目提示最常見的工作。 這裡所使用的查詢會更詳細地說明,包括如何在開始使用 Power BI Desktop 從頭開始建立查詢。

Power BI Desktop 中的Power Query 編輯器會使用滑鼠右鍵功能表和 轉換 功能區。 您也可以在功能區中選取大部分專案,方法是以滑鼠右鍵按一下專案,例如資料行,然後從出現的功能表中選擇。

塑形資料

若要在Power Query 編輯器中塑造資料,您可以提供逐步指示,讓Power Query 編輯器在載入和呈現資料時調整資料。 原始資料來源不會受到影響;只會調整或 成形 此特定資料檢視。

您指定的步驟(例如重新命名資料表、轉換資料類型或刪除資料行)會記錄Power Query 編輯器。 每次此查詢連線到資料來源時,Power Query 編輯器執行這些步驟,讓資料一律會以您指定的方式成形。 每當您使用 Power Query 編輯器,或針對使用共用查詢的任何人,例如Power BI 服務時,就會發生此程式。 這些步驟會依序擷取在 [查詢設定 ] 窗格的 [套用步驟 ] 底下 。 本文將逐步解說每一個步驟。

Screenshot of Power Query Editor with the Query Settings pane and Applied steps list.

  1. 從 Web 來源匯入資料。 選取 [ 取得資料] 下拉式清單,然後選擇 [Web ]。

    Screenshot of Power Query Editor with the Get data menu and Web source selected.

  2. 將此 URL 貼到 [ 從 Web] 對話方塊中,然後選取 [ 確定 ]。

    https://www.fool.com/research/best-states-to-retire
    

    Screenshot of Power Query Editor's From Web dialog with the source page's URL entered.

  3. 在 [ 導覽器] 對話方塊中,選取 Table 1 ,然後選擇 [ 轉換資料 ]。

    Screenshot of Power Query Editor's Navigator dialog with HTML Table 1 selected and the Transform Data button highlighted.

  4. [Power Query 編輯器] 視窗隨即開啟。 您可以在 [套用的步驟] 底下的 [ 查詢設定 ] 窗格中,看到到目前為止所套用的預設步驟

    • 來源 :連線網站。
    • 從 Html 擷取的資料表:選取資料表。
    • 升級的 標頭:將資料頂端資料列變更為資料行標頭。
    • 已變更類型 :將匯入為文字的資料行類型變更為其推斷的類型。

    Screenshot of the Power Query Editor window with Query Settings highlighted.

  5. 將資料表名稱從預設值 Table 1 變更為 Retirement Data ,然後按 Enter 鍵。

    Screenshot of Power Query Editor showing how to edit a table name in Query Settings.

  6. 現有的資料會依加權分數來排序,如 [方法] 底下的 來源網頁所述。 讓我們新增自訂資料行來計算不同的分數。 然後,我們會排序此資料行上的資料表,以比較自訂分數的排名與現有的 Rank

  7. 從 [ 新增資料行] 功能區中,選取 [自訂資料行 ]。

    Screenshot of Power Query Editor's Add Column ribbon with the Custom Column button highlighted.

  8. 在 [自訂資料行] 對話方塊的 [ 新增資料 行名稱 ] 中 ,輸入 [新增分數 ]。 針對 [ 自訂資料行公式 ],輸入下列資料:

    ( [Quality of life] + [Housing cost] + [Healthcare cost and quality] + [Crime rate rate] + [#"Public health/COVID-19 response"] + [Sales taxes] + [#"Non-housing costs"] + [Weather] ) / 8
    
  9. 請確定狀態訊息未 偵測到 語法錯誤,然後選取 [ 確定 ]。

    Screenshot of Power Query Editor's Custom Column dialog showing the new column name, custom column formula, and no syntax errors.

  10. [查詢] 設定 中,[ 套用的步驟 ] 清單現在會顯示我們剛才定義的新增 自訂 步驟。

    Screenshot of Power Query Editor's Query Settings pane showing the Applied Steps list with the actions so far.

調整資料

在使用此查詢之前,讓我們進行一些變更來調整其資料:

  • 藉由移除資料行來調整排名。

    例如,假設 Weather 在我們的結果中不是一個因素。 從查詢中移除此資料行不會影響其他資料。

  • 修正任何錯誤。

    由於我們已移除資料行,因此需要藉由變更其公式來調整 [新增分數 ] 資料行中的 計算。

  • 排序資料。

    根據 [ 新增分數 ] 資料行排序資料,並比較現有的 Rank 資料行。

  • 取代資料。

    我們將醒目提示如何取代特定值,以及如何插入套用的步驟。

下列步驟會說明這些變更。

  1. 若要移除 [天氣] 資料行,請選取資料行,從功能區選擇 [首頁 ] 索引標籤,然後選擇 [ 移除資料行 ]。

    Screenshot of Power Query Editor's Home menu with the Remove Columns button highlighted.

    注意

    由於 步驟的順序,[新增分數 ] 值尚未變更。 Power Query 編輯器會循序記錄步驟,但彼此獨立。 若要在不同的順序中套用動作,您可以向上或向下移動每個套用的步驟。

  2. 以滑鼠右鍵按一下步驟以查看其操作功能表。

    Screenshot of Power Query Editor's Applied Steps context menu.

  3. 將最後一個步驟 [已移除的資料行 ] 移至 [新增自訂 ] 步驟的正上方

    Screenshot of Power Query Editor's Applied Steps list with the Removed Columns step now moved above the Custom Column step.

  4. 選取 [ 新增自訂 ] 步驟。

    請注意,[新增分數] 資料 行現在會顯示 [錯誤], 而不是計算 的值。

    Screenshot of Power Query Editor and the New score column containing Error values.

    有數種方式可以取得每個錯誤的詳細資訊。 如果您選取儲存格而不按一下 [錯誤 ] 一詞 ,Power Query 編輯器會顯示錯誤資訊。

    Screenshot of Power Query Editor showing the New score column with Error details.

    如果您直接選取 [錯誤 ] 一詞 ,Power Query 編輯器會在 [查詢設定 ] 窗格中建立套 用的步驟 ,並顯示錯誤的相關資訊。 因為我們不需要在其他地方顯示錯誤資訊,請選取 [ 取消 ]。

  5. 若要修正錯誤,需要兩個變更,移除 Weather 資料行名稱,並將除數從 8 變更為 7。 您可以透過兩種方式進行這些變更:

    1. 滑鼠右鍵按一下 [自訂資料行 ] 步驟,然後選取 [ 編輯設定 ]。 這會顯示 您用來建立新分數 資料行的 [自訂資料行 ] 對話方塊。 如先前所述編輯公式,直到看起來像這樣:

      Screenshot of Power Query Editor's Custom Column dialog with formula errors fixed.

    2. 選取 [ 新增分數 ] 資料行,然後從 [檢視 ] 索引標籤啟用 [公式列 ] 核取方塊,以顯示資料行的資料公式。

      Screenshot of Power Query Editor showing the New score column and its data formula with errors fixed.

      如先前所述編輯公式,直到看起來像這樣,然後按 Enter 鍵。

      = Table.AddColumn(#"Removed Columns", "New score", each ( [Quality of life] + [Housing cost] + [Healthcare cost and quality] + [Crime rate rate] + [#"Public health/COVID-19 response"] + [Sales taxes] + [#"Non-housing costs"] ) / 7)              
      

    Power Query 編輯器會將資料取代為修訂的值和 已新增自訂 步驟完成,且沒有任何錯誤。

    注意

    您也可以使用功能區或滑鼠右鍵功能表來選取 [ 移除錯誤 ],以移除任何有錯誤的資料列。 不過,在本教學課程中,我們想要保留資料表中的所有資料。

  6. 根據 [ 新增分數 ] 資料行來排序資料。 首先,選取最後一個套用的步驟[ 已新增自訂 ] 以顯示最新的資料。 然後,選取 [新增分數 ] 資料行標頭旁邊的 下拉式清單,然後選擇 [ 排序遞減 ]。

    Screenshot of Power Query Editor showing the New score column with Sort Descending highlighted.

    資料現在會根據 [新增分數 ] 排序。 您可以在清單中的任何位置選取已套用的步驟,並繼續在序列中的該時間點成形資料。 Power Query 編輯器會自動在目前選取的套用步驟之後直接插入新步驟。

  7. [套用的步驟 ] 中,選取自訂資料行前面的步驟,也就是 [ 已移除 的資料行] 步驟。 在這裡,我們將取代俄勒岡州住房成本 排名的值 。 以滑鼠右鍵按一下包含俄勒岡 州住房成本 值的適當儲存格,然後選取 [ 取代值 ]。 請注意,目前已選取 [ 套用的步驟 ]。

    Screenshot of the Power Query Editor window showing the Housing cost column with the Replace Values right-click menu item highlighted.

  8. 選取插入

    因為我們要插入步驟,Power Query 編輯器提醒我們後續步驟可能會導致查詢中斷。

    Screenshot of Power Query Editor's Insert Step verification dialog.

  9. 將資料值變更為 100.0

    Power Query 編輯器取代俄勒岡州的資料。 當您建立新的套用步驟時,Power Query 編輯器根據動作命名它,在此案例中為 [已取代的值 ]。 如果您在查詢中有多個具有相同名稱的步驟,Power Query 編輯器將遞增的數位附加至每個後續套用步驟的名稱。

  10. 選取最後 一個套用的步驟 排序的資料列

    請注意,有關俄勒岡州新排名的資料已經改變。 之所以發生這項變更,是因為我們在 [新增自訂 ] 步驟之前 ,于正確的位置插入 [已取代的值 ] 步驟。

    我們現在已根據我們需要的範圍來塑造資料。 接下來,讓我們連接到另一個資料來源,並結合資料。

合併資料

有關各種狀態的資料很有趣,而且有助於建立進一步的分析工作和查詢。 不過,有關狀態的大部分資料都會使用兩個字母的縮寫來表示狀態碼,而不是狀態的完整名稱。 我們需要一種方法,將州名與其縮寫產生關聯。

有另一個公用資料源會提供該關聯,但它需要相當數量的成形,才能將它連接到我們的淘汰資料表。 若要塑造資料,請遵循下列步驟:

  1. 從 Power Query 編輯器 的 [首頁 ] 功能區中,選取 [ 新增來源 > Web ]。

  2. 輸入網站位址以取得狀態縮寫, https://en.wikipedia.org/wiki/List_of_U.S._state_abbreviations 然後選取 [連線 ]。

    導覽器會顯示網站的內容。

    Screenshot of Power Query Editor's Navigator page showing the Codes and abbreviations table selected.

  3. 選取 美國州、聯邦地區、地區和其他區域的 代碼和縮寫。

    提示

    需要一些成形,才能將資料表的資料剖析為我們想要的資料。 是否有更快速或更輕鬆的方式來完成下列步驟? 是,我們可以建立兩個 資料表之間的關聯 性,並根據該關聯性來塑造資料。 下列範例步驟有助於學習使用資料表。 不過,關聯性可協助您快速使用來自多個資料表的資料。

若要將資料放入圖形,請遵循下列步驟:

  1. 移除頂端資料列。 因為它是網頁數據表建立方式的結果,所以我們不需要它。 從 [ 首頁] 功能區中,選取 [移除資料列 > 移除頂端資料列 ]。

    Screenshot of Power Query Editor highlighting the Remove Rows dropdown and the Remove Top Rows item.

    [ 移除頂端資料列] 對話方塊隨即出現。 指定要移除的 1 個數據列。

  2. 從 [常用 ] 索引標籤,或從 功能區中的 [轉換 ] 索引標籤,將新的頂端資料列升階為 標頭。

  3. 因為 「淘汰資料 」資料表沒有華盛頓特區或地區的資訊,因此我們需要從清單中篩選它們。 選取 [region_1 ] 資料行下拉式清單的 [名稱和狀態],然後清除 [狀態 ] 以外的 所有核取方塊。

    Screenshot of Power Query Editor showing a column filter with only the State value selected.

  4. 移除所有不需要的資料行。 因為我們只需要將每個州對應到其官方的雙字母縮寫( 區域 和 ANSI 資料行的名稱和 狀態),我們可以移除其他資料行。 首先選取 區域 資料行的 [名稱] 和 [狀態],然後按住 CTRL 鍵並選取 ANSI 資料行。 從功能區的 [ 首頁] 索引標籤中,選取 [ 移除其他 資料行 > ]。

    Screenshot of Power Query Editor highlighting the Remove Columns dropdown and the Remove Other Columns item.

    注意

    Power Query 編輯器中套用的步驟順序 很重要,而且會影響資料的形狀。 也請務必考慮某個步驟如何影響另一個後續步驟。 例如,如果您從套用的步驟中移除步驟,後續步驟可能無法如原本預期般運作。

    注意

    當您調整Power Query 編輯器視窗的大小以縮小寬度時,會壓縮某些功能區專案,以充分利用可見空間。 當您增加Power Query 編輯器視窗的寬度時,功能區專案會展開以充分利用增加的功能區區域。

  5. 重新命名資料行和資料表。 有幾種方式可以重新命名資料行:首先選取資料行,然後從 功能區的 [轉換 ] 索引標籤中選取 [重新命名 ],或以滑鼠右鍵按一下並選取 [重新命名 ]。 下圖顯示這兩個選項,但您只需要選擇一個選項。

    Screenshot of Power Query Editor highlighting the Rename button and also the Rename right-click item.

  6. 將資料行重新命名為 [狀態名稱 ] 和 [狀態碼 ]。 若要重新命名資料表,請在 [查詢設定] 窗格中輸入 [名稱 狀態碼 ]。

    Screenshot of Power Query Editor window showing the results of shaping state codes source data into a table.

合併查詢

既然我們已經以我們想要的方式塑造 狀態碼 資料表,讓我們將這兩個數據表或查詢合併成一個資料表。 由於我們現在擁有的資料表是套用至資料之查詢的結果,因此通常稱為 查詢

有兩種主要的方式可合併查詢:「合併」和「附加」

  • 針對您想要新增至另一個查詢的一或多個 資料 行,您可以 合併 查詢。
  • 針對您想要新增至常設查詢的一或多個 資料列 ,您可以 附加 查詢。

在此情況下,我們想要合併查詢:

  1. 從Power Query 編輯器的左窗格中,選取您要讓其他查詢合併的 查詢 。 在此案例中 ,它是「淘汰資料 」。

  2. 從功能區的 [常用 ] 索引標籤選取 [合併查詢 > 合併查詢 ]。

    Screenshot of Power Query Editor's Merge Queries dropdown with the Merge Queries item highlighted.

    系統可能會提示您設定隱私權等級,以確保資料會合並,而不需要包含或傳輸您不想傳輸的資料。

    [合併 ] 視窗隨即出現。 它會提示您選取要合併至所選資料表的資料表,以及要用於合併的相符資料行。

  3. 從 [ 淘汰資料 ] 資料表中選取 [狀態 ],然後選取 [ 狀態碼 ] 查詢。

    當您選取相符的資料行時,會啟用 [ 確定] 按鈕。

    Screenshot of Power Query Editor's Merge dialog.

  4. 選取 [確定]。

    Power Query 編輯器會在查詢結尾建立新的資料行,其中包含與常設查詢合併的資料表 (query) 內容。 合併查詢中的所有資料行都會壓縮成資料行,但您可以 展開 資料表並包含您想要的資料行。

  5. 若要展開合併的資料表,並選取要包含的資料行,請選取展開圖示 ( )。

    [展開] 視窗隨即出現。

    Screenshot of Power Query Editor's column Expand dialog showing the State Code column highlighted.

  6. 在此情況下,我們只想要 [ 狀態碼] 資料行。 選取該資料行,清除 [使用原始資料行名稱作為前置 詞],然後選取 [ 確定 ]。

    如果我們已選取 [使用原始資料行名稱做為前置 詞] 的核取方塊 ,合併的資料行會命名為 State Code.State Code

    注意

    如果您想要探索如何帶入 狀態碼 資料表,您可以實驗一點。 如果您不喜歡結果,只要從 [查詢設定 ] 窗格中的 [套用步驟 ] 清單中刪除該步驟,查詢就會傳回該狀態,再套用該 [展開 ] 步驟。 在展開程式看起來您想要的方式之前,您可以執行此動作的次數。

    我們現在有一個結合兩個數據源的單一查詢 (table),每個資料來源都是為了符合我們的需求而成形的。 此查詢可以是相關資料連線的基礎,例如住房成本統計資料、生活品質或任何州犯罪率。

  7. 若要套用變更並關閉Power Query 編輯器,請從 [首頁 ] 功能區索引標籤選取 [ 關閉 & 套用 ]。

    已轉換的資料集會出現在 Power BI Desktop 中,可供用來建立報表。

    Screenshot of Power Query Editor's Close & Apply button.

下一步

如需 Power BI Desktop 及其功能的詳細資訊,請參閱下列資源: