這個小節主要帶大家進行一次實踐,根據以下的步驟,鞏固一些Power Query的基礎功能。
?- 在新的Excel工作簿中獲取數據源
?- 將數據源導入至PowerQuery編輯器
?-?重命名PowerQuery編輯器中的查詢名稱
?- 使用【添加列】選項卡中的計算功能,對兩列數據進行運算。
?-?重命名【預覽窗格】中的列
?- 利用【編輯欄】修改運算步驟
?- 在【預覽窗格】中【刪除列】
?- 在【預覽窗格】中對列的內容進行【篩選】
?- 【文本篩選器】的大小寫
?-?上載轉換好的數據至Excel工作表中
?-?自動刷新報表
?-?再次打開并編輯Excel中的Power Query查詢
?
正文開始
步驟1:
在新的Excel工作簿中導入數據源
新建一個空白的新的Excel工作簿,然后點擊【數據】-【獲取數據】-【來自文件】-【從工作簿】,選擇存放數據的Excel,點擊【導入】。
步驟2:
將數據源導入至PowerQuery編輯器
進入【導航器】對話框后,選擇你要導入的表,如果所示是【Sheet1】,然后點擊【轉換數據】。圖1-28
在這里我們推薦大家導入數據的時候點擊【轉換數據】而不是【加載】。因為在某些情況下我們并不確定加載的數據源是否合適直接加載到Excel工作簿中,而點擊【轉換數據】才能讓我們進入到【Power Query編輯器】中,隨之對數據進行轉換,加工成我們所需要的樣子。
步驟3:
在PowerQuery編輯器中修改查詢名稱
進入【PowerQuery編輯器】后,打開左邊的【查詢窗格】,選中【Sheet1】,雙擊Sheet1或者右鍵【重命名】該查詢,將【Sheet1】改為【Products】 如圖1-29。
建議大家養成修改查詢名稱的習慣,可以方便我們在眾多查詢中,快速找到自己需要編輯的查詢。想象一下,如果將來在查詢窗格中加載了很多“Sheet1”,我們就很難辨認每個查詢的內容了。
步驟4:
使用【添加列】選項卡中的計算功能,對兩列數據進行運算。
在這個案例中,我們可以看到【預覽窗格】的最后兩列是“Cost(成本)”和“Price (價格)”。
如果我們想要添加一列來計算出“Profit(利潤)”,我們需要用【價格】減去【成本】。
在PowerQuery編輯器中,我們先用鼠標+Ctrl/Shift鍵選中這兩列,然后依次點擊選項卡【添加列】-【標準】-【減】,即可得到新的一列【減法】。如圖1-30和圖1-31所示。
?
步驟5:
重命名【預覽窗格】中的列
我們可以鼠標雙擊該列的標題進行重命名,或者右鍵該列標題打開快捷菜單選擇【重命名】,將【減法】改成【Profit(利潤)】,如圖1-32所示。
?
步驟6:
利用【編輯欄】修改運算步驟
如圖1-33所示,這里的【Profit(利潤)】有一個小問題,我們發現該列出現了負值,實際上【Price(價格)】減去【Cost(成本)】后應該是正的。
那么為什么會出現這個問題呢,很可能是因為在【步驟4】選中成本和價格這兩列的時候,順序錯了。如果你先選【成本】再選【價格】,那么減法的結果就是 “成本?- 價格”?所以為負。應該先選【價格】再選【成本】,才能得到?“價格 - 成本”?的結果。
在這里我們不需要回到【步驟4】重新再選一次,只需要依照下面【步驟7】就可以對公式進行更正:
?
步驟7:
利用【編輯欄】修改運算步驟
如圖1-34所示,我們在【應用的步驟】中選擇【插入的減法】,這時可以看到在【編輯欄】的公式中有一個算式?“[Cost]?- [Price]”?,我們只需要把這個算式改成 “[Price] - [Cost]” , 編輯欄的其他內容不變, 結果就會改正了,如圖1-35。
學到這里,如果大家是第一次接觸PowerQuery,暫時不必深究編輯欄公式背后的邏輯,因為這會涉及到M語言的內容,而目前M語言不是我們的學習重點,我們會在以后的章節學習中為大家講解。
?
步驟8:
在【預覽窗格】中【刪除列】
注:接著上面【步驟7】,我們在【應用的步驟】窗格中停留在了【插入的減法】這一步驟,需要大家點擊選擇最后一個步驟【重命名的列】,這一步尤其需要大家關注——
在【應用的步驟】窗格中,所有的步驟都是依序進行的,如果要在中途插入步驟,很可能會對后續的步驟產生影響。除非必要,大家最好在當前窗格的最后一個步驟中,進行新的操作,以免對前序步驟造成影響。
然后,選中你要刪除的列(本示例是【Product?Number】),直接按鍵盤【Delete】鍵即可刪除該列。或者點擊選項卡【主頁】-【刪除列】,如圖1-36:
?
步驟9:
在【預覽窗格】中對列的內容進行【篩選】
比如我們現在想篩選所有包含【Touring】的產品,點擊【Product】列的【下拉按鈕】,在輸入框中輸入 "touring",按回車,即可完成篩選。如圖1-37所示。
或者我們可以使用【下拉菜單】中的【文本篩選器】-【包含】,在彈出來的對話框中,輸入“touring”也可完成篩選。如圖1-38和圖1-39所示:
我們可以看到【文本篩選器】中有很多高級的篩選功能,可以滿足我們不同的篩選需求。大家可以根據自己的實際情況進行使用。
?
步驟10:
注意【文本篩選器】的大小寫
但是很快我們發現一個新的問題,在【文本篩選器】中有嚴格的大小寫要求,當我們輸入“touring“,使Product列中所有的 “Touring”都被排除了。如圖1-40,表格結果為空。
這時,就需要用到M語言編輯,在編輯欄中給【Text.Contains】這個函數增加一個條件【Comparer.OrdinalIgnoreCase】即可忽略這個篩選的大小寫,將所有包含 “Touring” 的產品篩選出來。公式如圖1-41所示。
同樣的,關于M語言我們會在后續的章節中詳細介紹,這里只是跟大家說明一種情況。
其實在實際的工作運用中,也不需要大家完全掌握M語言(除了高級用戶外),大多數時候我們都如同上面兩個涉及M語言的示例一樣,只需要稍作編輯和改動,就可以滿足我們的日常工作和學習。
?
步驟11:
上載轉換好的數據至Excel工作表中
最后就是將我們轉換好的數據加載到Excel中,我們只需點擊選項卡【主頁】-【關閉并上載】,就可以將數據以【表格】的形式加載至Excel工作表中。如圖1-42和圖1-43所示:
?
步驟12:
自動刷新報表
在完成了以上的操作后,大家可以打開你的數據源(本示例數據源文件是【C01E01】),然后隨便修改一些數字或內容,保存好源文件后,我們再回到這個新建的Excel工作簿中,【刷新】一下剛剛上載好的表格,你會發現【C01E01】中所有的更新,將自動更新至這個表格中。
這就是PowerQuery可以大大節省我們工作時間的關鍵,我們只需在第一次使用時進行數據轉換的操作,這些操作都會被Power Query記錄下來。之后同樣的文件下的更新,只需鼠標點擊一下【刷新】,所有的數據將按照操作步驟自動完成!無需用戶再次進行重復的手動工作。
?
步驟13:
再次打開并編輯Excel中的Power Query查詢
前面我們已經介紹過了,如果在PowerQuery中轉換數據并將數據加載至Excel工作表中,接下來這個步驟,將跟大家介紹一下,報表加載至Excel工作表后,如果需要再次修改或調整,如何再次打開Power Query編輯器進行數據轉換的工作。
我們只需要點擊選項卡【數據】-【查詢與鏈接】,在右邊彈出的【查詢&連接】中,雙擊你需要編輯的查詢,即可再次打開PowerQuery編輯器。
我們的第一個實戰練習到這里就結束啦,這個示例只是幫助大家了解一些PowerQuery的基本功能。在隨后的章節中,我們將繼續學習如何處理數據準備工作在Power Query編輯器中會遇到的各種挑戰。
大家看完文章后,不要忘了根據步驟,打開Excel自己動手操作下,確保所有的知識點真的吸收了!
覺得有用的話,記得點個贊,關注收藏一下呀。