Power Query入門:數據導入與展開
Excel之家 · 職業 ·

Power Query入門:數據導入與展開

對於Excel用戶來說,經常會遇到下列情況而煩躁不安,數字和文本混在一個單元格里、數據表中大量使用合併單元格、數據表是一個不方便進一步統計的二維表,甚至數據表被分散到了不同的工作表或不同的工作簿……這時,Power Query橫空出世了。

自從微軟公司發布Power Query for Excel以來,從最早的加載項形式,到如今與Excel完美結合,歷經了多個版本的更新,現在已經成為Excel用於數據查詢和數據清洗的重要功能,極大地提高了用戶的工作效率。今天小編先和大家一起來了解Power Query中數據處理的準備工作——導入與展開。

處理數據需要數據源表,就拿一個JSON文件「開刀」吧。JSON是JavaScript Object Notation的縮寫,這是近年來的主流數據格式之一,採用獨特規則的文本格式來存儲和表示數據,這種格式的文件擴展名就 是「.json」。

示例文件(素材:02 -展開數據.json)是一個從網上下載的JSON文件,如果用記事本程序打開的話,裡面的數據和亂碼看上去沒有太大分別,如圖 1-1 所示。但是,Power Query卻可以把它「收拾」 得服服帖帖。

清洗的重要功能,極大地提高了用戶的工作效率。今天小編先和大家一起來了解P

圖 1-1 用記事本打開 JSON 示例文件的原始數據


導入 JSON 文件

先新建一個Excel工作簿,在【數據】選項卡下,依次選擇【獲取數據】→【來自文件】→【從 JSON】選項,然後打開【導入數據】對話框,定位目標文件,找到剛才的JSON文件後,單擊【導入】按鈕,如圖 1-2 所示。但是接下來並沒有如期地出現【導航器】窗口,而是直接就進入了Power Query

完美結合,歷經了多個版本的更新,現在已經成為Excel用於數據查詢和數據

圖 1-2 從 JSON 文件中導入數據到Power Query

要點提示:從JSON文件導入數據到Power Query

Excel界面→【數據】→【獲取數據】→【來自文件】→【從JSON】→定位目標文件→【導入】

【Power Query編輯器】→【主頁】→【 新 建源】→【文件】→【JSON】→ 定位目標文件 → 【導入】

不過這次Power Query的狀態有點怪,【轉換和【添加列】選項卡下所有的命令按鈕都呈現不可用的狀態。此外,還多出來一個【列表工具轉換】選項卡,如圖 1-3 所示,這是「鬧哪樣」呢?從這個多出來的選項卡可以看到,這次導入的是一個【列表】,而不是【查詢表】。

ueryforExcel以來,從最早的加載項形式,到如今與Excel

圖 1-3 【列表】狀態

列表里的每一條記錄都是「Record」,表示這是被摺疊的數據。單擊任意一個「Record」以後可以將其展開,但是能看到的也只是眾多數據中的一個,對處理數據毫無幫助。所以,剛才的單擊步驟必須「咔嚓」刪除。刪除步驟的操作非常簡單,只要在【查詢設置】的【應用的步驟】窗格里單擊最後一個「導航」步驟左邊的刪除符號,這個列表就被「打回原形」了,如圖 1-4 所示。

owerQuery橫空出世了。自從微軟公司發布PowerQ

圖 1-4 刪除步驟

難道只能「望表興嘆」了?當然不是,只要把【列表】轉換成【查詢表】就行了。在新冒出來的 【列表工具轉換】選項卡下單擊【到表】按鈕,在彈出的【到表】對話框裡雖然還有一些設置,但基本上都可以忽略,直接單擊【確定】按鈕,然後這個【列表】就華麗地變身為【查詢表】了,如圖 1-5 所示。如此一來,【轉換】和【添加列】選項卡里也不再是「灰濛濛」的一片了。

統計的二維表,甚至數據表被分散到了不同的工作表或不同的工作簿……這時,P

圖 1-5 將【列表】轉換為【查詢表】

要點提示:將列錶轉換為查詢表

【Power Query編輯器】→選取列表→【列表工具轉換】→【到表】→輸入分隔符→處理附加列→ 【確定】

展開數據

不過剛才的操作只是轉換,並沒有對表里的內容做任何修改,所以查詢表里仍然是一堆 「Record」。要處理這些數據肯定不能逐個單擊,而是要單擊標題右端的【展開】按鈕,如圖 1-6 所示,或者單擊【轉換】選項卡下的【展開】按鈕來處理整列。使用這兩種展開方式所彈出的窗格(對話框)雖然有細微的差異,但總體功能還是一致的。

本混在一個單元格里、數據表中大量使用合併單元格、數據表是一個不方便進一步

圖 1-6 將摺疊的數據整列展開

展開後窗格(對話框)的「長相」有點類似於篩選窗格,其選擇方式也和「篩選」如出一轍,需要展開哪些列,只要勾選標題名前的複選框即可。此處當然是要選擇所有列,保持默認設置即可,最後單擊【確定】按鈕,一整列的「Record」就全部展開了。

這裡有兩個設置需要關注。一個是當數據列數很多的時候,供選擇的列並不會全部顯示出來, 所以會有一個【列表可能不完整】的警示標記,只要單擊右邊的【加載更多】按鈕就可以顯示完整的列表。

另一個就是「前綴」的問題。數據表的每一列都有一個「標題」,也就是俗稱的「表頭」,查詢表也不例外。但是Power Query里任何一種表的標題都必須是唯一的,不能重複,所以展開窗格里默認會為原標題加上前綴以避免重複。例如,原來的「AccountNumber」,展開以後會變成「Column 1 . AccountNumber」(使用【轉換】選項卡下的【展開】命令,在彈出的對話框中可以自定義前綴內容)。但是這樣一來,標題難免會變得巨長,這時可以取消勾選【使用原始列名作為前綴】複選框,讓前綴不顯示。只是當展開的數據中有與原表中一模一樣的標題時,第二次出現的標題會在原標題後面自動加「. 1」來避免重複。

要點提示:展開整列數據

【Power Query編輯器】→【展開】→【加載更多】→選擇展開列→選擇是否需要【使用原始列名 作為前綴】→【確定】

【Power Query編輯器】→選取對象→【轉換】→【展開】→【加載更多】→選擇展開列→修改或刪除【默認的列名前綴】→【確定】

接下來再單擊列標題右端的【展開】按鈕時,會有一個選項,這裡選擇【擴展到新行】即可,如圖 1-7 所示。

對於Excel用戶來說,經常會遇到下列情況而煩躁不安,數字和文

圖 1-7 將 List 轉換為 Record

在歷經了五次【展開】或【擴展到新行】操作以後,最終的數據才會完全顯露出來,一共 1000 行、11 列。

在實際的數據處理過程中,會遇到各種問題,小編講解的上述技巧,你學會了嗎?

聲明:文章觀點僅代表作者本人,PTTZH僅提供信息發布平台存儲空間服務。
喔!快樂的時光竟然這麼快就過⋯
繼續其他精彩內容吧!
more