使用 Power Query 編輯器清理與轉換資料

已完成

現在,我們已經使用 Microsoft Power BI 桌面 連接到數據源,我們必須調整數據以滿足我們的需求。 有時,調整意味著 通過重命名列或表、將文本更改為數位、刪除行或將第一行設置為標題來轉換 數據。

Power Query 中的 編輯器 Power BI Desktop 除了在功能區上提供任務外,還廣泛使用快捷功能表 (也稱為右鍵單擊或上下文功能表)。 還可以通過右鍵單擊某個專案 (如列),然後在出現的快捷功能表上選擇一個命令,即可在功能區的“ 轉換 ”選項卡上選擇大部分內容。

元件資料

在編輯器Power Query 調整數據形狀時,您將提供編輯器 Power Query 將執行的分步說明 ,以便在載入和呈現數據時調整數據。 原始數據源不受影響。 僅調整或 塑造數據的此特定檢視。

您指定的步驟 (例如,重新命名表、轉換資料類型或刪除列) 由 Power Query 編輯器記錄。 然後,每次查詢連接到數據源時都會執行這些步驟,以便始終按照您指定的方式調整數據。 只要您在中使用 Power BI Desktop查詢,或者每當其他人使用您的共享查詢 (例如,在服務 Power BI 中) 時,都會發生此過程。 這些步驟在「 設置 」窗格中的「應用的步驟 Power Query 」下 按順序捕獲。

下圖顯示了已調整的查詢的「 查詢設置 」窗格。 我們將在接下來的幾段中介紹每個步驟。

查詢設定

讓我們返回到通過連接到 Web 數據源找到的停用數據,並調整該數據以滿足我們的需求。

便條

如果您尚未下載範例數據集,請參閱上一個單元頁面。

我們需要數據是數位。 在這種情況下,它們很好,但如果您需要更改數據類型,只需右鍵按下列標題,然後選擇 “ > 更改類型整數”。 如果必須更改多個列,請選擇其中一個列,然後在按住 Shift 鍵的同時選擇其他相鄰列。 然後右鍵按下列標題以更改所有選定的列。 還可以使用 Ctrl 鍵選擇不相鄰的列。

套用的步驟變更類型

便條

通常, Power Query 會檢測到一列文本應該是數位,並在將表格帶入 Power Query 編輯器時自動更改數據類型。 在這種情況下,「應用的步驟」下 的步驟會標識對您執行的操作 。 Power Query

還可以使用功能區上的“ 轉換 ”選項卡將這些列從文本更改或 轉換為 標題。 下圖顯示了“ 轉換” 選項卡。紅色框突出顯示「 數據類型 」按鈕,該按鈕允許您將當前數據類型轉換為另一種數據類型。

“轉換”功能區和“資料類型”按鈕

請注意,「 查詢設置窗格中的「應用的步驟 」清單反映了所做的所有更改。 若要從整形過程中刪除任何步驟,只需選擇它,然後選擇其左側的 X

查詢設定視窗

連線至資料

有關不同狀態的數據很有趣,並且對於構建其他分析工作和查詢非常有用。 但有一個問題:大多數數據使用兩個字母的州代碼縮寫,而不是州的全名。 因此,我們需要某種方式將州名與其縮寫相關聯。

我們很幸運:還有另一個公共數據源可以做到這一點,但在我們將其連線到退休表之前,它需要相當多的塑造。 以下是州縮寫的 Web 資源:

http://en.wikipedia.org/wiki/List_of_U.S._state_abbreviations

在編輯器中 Power Query ,在功能區的“主頁 ”選項卡上,選擇“ 新建源 Web > ”。 然後輸入位址,然後選擇確定 。 “ 導航” 視窗顯示它在該網頁上找到的內容。

來自網站的美國州縮寫

選擇代碼和縮寫... 表,因為它包含我們想要的數據,儘管需要相當多的整形來削減這些數據。

選擇 「載入」 將數據引入 Power Query 編輯器, 以便我們可以對其進行調整。 然後跟隨以下步驟:

  • 刪除前三行 –這些行是創建網頁表的方式的結果,我們不需要它們。 若要刪除它們,請在功能區的“開始” 選項卡上,選擇“ 刪除行 ”“刪除前行 > ”。 在出現的對話框中,輸入 3 作為要刪除的行數。

    刪除前列

  • 刪除底部的 26 行 –這些行都是針對地區,我們不需要包含。 過程是相同的,但這次,選擇 刪除行 > 刪除底部行,然後輸入 26 作為要刪除的行數。

    刪除底部列

  • 過濾掉華盛頓特區 –退休統計表不包括華盛頓特區,因此我們會將其從清單中排除。 選擇「 聯邦州 」列旁邊的下拉箭頭,然後清除「聯邦區 複選框。

    刪除具有特定值的列

  • 刪除一些不需要的 列–我們只需要將每個州對應到其官方的兩個字母縮寫,該資訊在第一列和第四列中給出。 因此,我們只需要保留這兩列,就可以刪除所有其他列。 選擇要刪除的第一列,然後在按住 Ctrl 鍵的同時選擇要刪除的其他列 (這允許您選擇多個不相鄰的列)。 然後,在功能區的“開始” 選項卡上,選擇“ 刪除列 刪除列 > ”。

    刪除特定欄位

  • 使用第一行作為標題 –由於我們刪除了前三行,因此當前頂行是我們想要的標題。 選擇“ 使用第一行作為標題 ”按鈕。

    使用第一行作為標題

    便條

    這是指向 編輯器Power Query 應用步驟的順序 很重要並且會影響數據的形狀的好時機。 考慮一個步驟如何影響另一個後續步驟也很重要。 如果從「 應用的步驟」 清單中刪除某個步驟,則後續步驟可能不會按最初預期運行,因為查詢的步驟序列會影響後續步驟。

  • 重命名列和表本身 –像往常一樣,有幾種方法可以重命名列。 您可以使用您喜歡的任何方式。 讓我們將它們 重命名為州名稱州代碼。 若要重命名表,只需在「 查詢設置 」窗格的「 名稱 」欄位中輸入名稱。 我們將此表 稱為狀態代碼

    重新命名欄

合併資料

現在狀態 代碼 表已成形,我們可以將兩個表合併為一個。 由於我們現在擁有的表是我們應用於數據的查詢的結果,因此它們通常稱為 查詢

組合查詢有兩種主要方法: 合併追加

當您有一個或多個要添加到另一個查詢的列時,可以 合併 這些查詢。 當您有其他資料行要添加到現有查詢時,您可以 追加 查詢。

在本例中,我們要合併查詢。 若要開始,請選擇要將其他查詢 合併到的查詢。 然後,在功能區的“主頁 選項卡上,選擇“ 合併查詢”。 我們希望首先選擇停用查詢。 當我們使用它時,讓我們將該查詢 重命名為 RetirementStats

“合併查詢”按鈕

出現「 合併 」對話框,提示我們選擇要合併到所選表中的表,以及要用於合併的匹配列。

從 RetirementStats 表 (查詢) 中選擇 “狀態 ”,然後選擇 “狀態代碼 ”查詢。 (在本例中,選擇很容易,因為只有一個其他查詢。但是,當您連線許多數據源時,將有許多查詢可供選擇。選擇正確的匹配列 (“退休統計資訊 ”中的“狀態 ”和狀態代碼 中的”狀態名稱 “) 後,”合併 “對話框將如下所示,” 確定 “按鈕將 變為可用。

“合併”對話框

NewColumn 是在查詢結束時創建的, 它是與現有查詢合併的表 (查詢) 的內容。 合併查詢中的所有列都壓縮到 NewColumn ,但您可以 展開 表並包含所需的任何列。 若要展開合併的表並選擇要包括的列,請選擇展開圖示 (展開圖示)。 將出現展開 對話方塊。

展開對話框

在本例中,我們只需要「狀態代碼 列。 因此,僅選擇該列,然後選擇確定 。 還可以清除“ 使用原始列名稱作為前綴 ”複選框。 如果將其保留為選中狀態,則合併的列將命名為 NewColumn.State Code (原始列名稱或 NewColumn,然後是點,然後是要引入查詢的列的名稱)。

便條

如果需要,可以嘗試如何 引入 NewColumn 表。 如果不喜歡結果,只需從“ 查詢設置 ”窗格的“ 應用的步驟” 列表中刪除 “展開 ”步驟。 查詢將返回到應用該步驟之前的狀態。 這就像一個免費的重做,您可以根據需要執行任意次數,直到擴展過程看起來像您想要的那樣。

我們現在有一個查詢 (表),它結合了兩個數據源,每個數據源都經過調整以滿足我們的需求。 此查詢可以作為許多其他有趣的數據連接的基礎,例如任何州的住房成本統計資訊、人口統計或工作機會。

若要在編輯器 Power Query 中 應用更改並將其載入到其中 Power BI Desktop,請在功能區上的“ 主頁 ”選項卡上選擇 “關閉”&“應用 ”。

關閉並套用資料設定

模型中的數據現在已準備就緒,可供使用。 接下來,我們將為報表創建一些視覺物件。

目前,我們有足夠的數據來創建一些有趣的報告。 Power BI Desktop 因為這是一個里程碑,所以讓我們保存這個 Power BI Desktop 檔。 在功能區的“主頁”選項卡上選擇 “檔 > 保存 ”以保存報表 - 我們稱之為 “入門 ”。 Power BI Desktop

太棒了! 現在進入下一個單元,我們將創建一些有趣的視覺效果。