Power Query 學習1-4 | Power Query 的第一次應用

這個小節主要帶大家進行一次實踐,根據以下的步驟,鞏固一些Power Query的基礎功能。

?- 在新的Excel工作簿中獲取數據源

?- 將數據源導入至PowerQuery編輯器

?-?重命名PowerQuery編輯器中的查詢名稱

?- 使用【添加列】選項卡中的計算功能,對兩列數據進行運算。

?-?重命名【預覽窗格】中的列

?- 利用【編輯欄】修改運算步驟

?- 在【預覽窗格】中【刪除列

?- 在【預覽窗格】中對列的內容進行【篩選】

?- 【文本篩選器】的大小寫

?-?上載轉換好的數據至Excel工作表中

?-?自動刷新報表

?-?再次打開并編輯Excel中的Power Query查詢

?


正文開始

步驟1:

在新的Excel工作簿中導入數據源

新建一個空白的新的Excel工作簿,然后點擊【數據】-【獲取數據】-【來自文件】-【從工作簿】,選擇存放數據的Excel,點擊【導入】

圖1-27 獲取數據

步驟2:

將數據源導入至PowerQuery編輯器

進入【導航器】對話框后,選擇你要導入的表,如果所示是【Sheet1】,然后點擊【轉換數據】。圖1-28

在這里我們推薦大家導入數據的時候點擊【轉換數據】而不是【加載】。因為在某些情況下我們并不確定加載的數據源是否合適直接加載到Excel工作簿中,而點擊【轉換數據】才能讓我們進入到Power Query編輯器】中,隨之對數據進行轉換,加工成我們所需要的樣子。

圖1-28 【導航器】對話框

步驟3:

PowerQuery編輯器中修改查詢名稱

進入【PowerQuery編輯器】后,打開左邊的【查詢窗格】,選中【Sheet1】,雙擊Sheet1或者右鍵【重命名】該查詢,將【Sheet1】改為【Products】 如圖1-29。

建議大家養成修改查詢名稱的習慣,可以方便我們在眾多查詢中,快速找到自己需要編輯的查詢。想象一下,如果將來在查詢窗格中加載了很多“Sheet1”,我們就很難辨認每個查詢的內容了。

圖1-29

步驟4:

使用【添加列】選項卡中的計算功能,對兩列數據進行運算。

在這個案例中,我們可以看到【預覽窗格】的最后兩列是“Cost(成本)”和“Price (價格)”。

如果我們想要添加一列來計算出“Profit(利潤)”,我們需要用【價格】減去【成本】。

在PowerQuery編輯器中,我們先用鼠標+Ctrl/Shift鍵選中這兩列,然后依次點擊選項卡【添加列】-【標準】-【】,即可得到新的一列【減法】。如圖1-30和圖1-31所示。

圖1-30 【添加列】的標準運算功能
圖1-31?

?

步驟5:

重命名【預覽窗格】中的列

我們可以鼠標雙擊該列的標題進行重命名,或者右鍵該列標題打開快捷菜單選擇【重命名】,將【減法】改成【Profit(利潤)】,如圖1-32所示。

圖1-32 重命名列

?

步驟6:

利用【編輯欄】修改運算步驟

如圖1-33所示,這里的【Profit(利潤)】有一個小問題,我們發現該列出現了負值,實際上【Price(價格)】減去【Cost(成本)】后應該是正的。

那么為什么會出現這個問題呢,很可能是因為在【步驟4】選中成本和價格這兩列的時候,順序錯了。如果你先選【成本】再選【價格】,那么減法的結果就是 “成本?- 價格”?所以為負。應該先選【價格】再選【成本】,才能得到?“價格 - 成本”?的結果。

圖1-33 成本 - 價格

在這里我們不需要回到【步驟4】重新再選一次,只需要依照下面【步驟7】就可以對公式進行更正:

?

步驟7:

利用【編輯欄】修改運算步驟

如圖1-34所示,我們在【應用的步驟】中選擇【插入的減法】,這時可以看到在【編輯欄】的公式中有一個算式?[Cost]?- [Price]”?,我們只需要把這個算式改成 “[Price] - [Cost]” , 編輯欄的其他內容不變, 結果就會改正了,如圖1-35。

圖1-34 編輯欄公式
圖1-35 修改后公式


學到這里,如果大家是第一次接觸PowerQuery,暫時不必深究編輯欄公式背后的邏輯,因為這會涉及到M語言的內容,而目前M語言不是我們的學習重點,我們會在以后的章節學習中為大家講解

?

步驟8:

在【預覽窗格】中【刪除列】

注:接著上面【步驟7】,我們在【應用的步驟】窗格中停留在了【插入的減法】這一步驟,需要大家點擊選擇最后一個步驟【重命名的列】,這一步尤其需要大家關注——

在【應用的步驟】窗格中,所有的步驟都是依序進行的,如果要在中途插入步驟,很可能會對后續的步驟產生影響。除非必要,大家最好在當前窗格的最后一個步驟中,進行新的操作,以免對前序步驟造成影響。

然后,選中你要刪除的列(本示例是【Product?Number】),直接按鍵盤【Delete】鍵即可刪除該列或者點擊選項卡【主頁】-【刪除列】,如圖1-36:

圖1-36

?

步驟9:

在【預覽窗格】中對列的內容進行【篩選】

比如我們現在想篩選所有包含【Touring】的產品,點擊【Product】列的【下拉按鈕】,在輸入框中輸入 "touring",按回車,即可完成篩選。如圖1-37所示。

圖1-37 篩選

或者我們可以使用【下拉菜單】中的【文本篩選器】-【包含】,在彈出來的對話框中,輸入“touring”也可完成篩選。如圖1-38和圖1-39所示:

我們可以看到【文本篩選器】中有很多高級的篩選功能,可以滿足我們不同的篩選需求。大家可以根據自己的實際情況進行使用。

圖1-38
圖1-39

?

步驟10:

注意【文本篩選器】的大小寫

但是很快我們發現一個新的問題,在【文本篩選器】中有嚴格的大小寫要求,當我們輸入“touring“,使Product列中所有的 “Touring”都被排除了。如圖1-40,表格結果為空。

圖1-40


這時,就需要用到M語言編輯,在編輯欄中給【Text.Contains】這個函數增加一個條件【Comparer.OrdinalIgnoreCase】即可忽略這個篩選的大小寫,將所有包含 “Touring” 的產品篩選出來。公式如圖1-41所示。

圖1-41 修改后的公式


同樣的,關于M語言我們會在后續的章節中詳細介紹,這里只是跟大家說明一種情況。

其實在實際的工作運用中,也不需要大家完全掌握M語言(除了高級用戶外),大多數時候我們都如同上面兩個涉及M語言的示例一樣,只需要稍作編輯和改動,就可以滿足我們的日常工作和學習

?

步驟11:

上載轉換好的數據至Excel工作表中

最后就是將我們轉換好的數據加載到Excel中,我們只需點擊選項卡【主頁】-【關閉并上載】,就可以將數據以【表格】的形式加載至Excel工作表中。如圖1-42和圖1-43所示:

圖1-42 關閉并上載
圖1-43 上載至Excel中的表格

?

步驟12:

自動刷新報表

在完成了以上的操作后,大家可以打開你的數據源(本示例數據源文件是【C01E01】),然后隨便修改一些數字或內容,保存好源文件后,我們再回到這個新建的Excel工作簿中,【刷新】一下剛剛上載好的表格,你會發現【C01E01】中所有的更新,將自動更新至這個表格中。

圖1-44 刷新

這就是PowerQuery可以大大節省我們工作時間的關鍵,我們只需在第一次使用時進行數據轉換的操作,這些操作都會被Power Query記錄下來。之后同樣的文件下的更新,只需鼠標點擊一下【刷新】,所有的數據將按照操作步驟自動完成!無需用戶再次進行重復的手動工作。

?

步驟13:

再次打開并編輯Excel中的Power Query查詢

前面我們已經介紹過了,如果在PowerQuery中轉換數據并將數據加載至Excel工作表中,接下來這個步驟,將跟大家介紹一下,報表加載至Excel工作表后,如果需要再次修改或調整,如何再次打開Power Query編輯器進行數據轉換的工作。

我們只需要點擊選項卡【數據】-【查詢與鏈接】,在右邊彈出的【查詢&連接】中,雙擊你需要編輯的查詢,即可再次打開PowerQuery編輯器。

圖1-45 打開查詢

我們的第一個實戰練習到這里就結束啦,這個示例只是幫助大家了解一些PowerQuery的基本功能。在隨后的章節中,我們將繼續學習如何處理數據準備工作在Power Query編輯器中會遇到的各種挑戰。


大家看完文章后,不要忘了根據步驟,打開Excel自己動手操作下,確保所有的知識點真的吸收了!

覺得有用的話,記得點個贊,關注收藏一下呀。

@兩顆菜
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容