Power Query顧名思義就是很強的Query,那什麼是Query呢?Query的中文為查詢,其用於資料庫系統中,Query中的程式碼代表著你對資料庫發出的一個詢問,例如你想要取得某資料表的某些欄位,就可以寫一個Query來得到,其原理與上篇文章介紹的
數據處理ETL
相近(還沒聽過的朋友可以前往閱讀)。
下圖為Google搜尋到,以資料庫系統MySQL所寫的一個Query範例給大家參考,此Query的意思是:查詢在員工(employees)資料表中員工報到日期(hire_date)在2000/01/01之後的清單。
Excel Power Query因為可連結Excel資料表或工作表(
Sheet
)、資料庫系統、網頁資料表,甚至PDF資料表,所以可進行相當廣泛的應用,它可以幫你設定一套自動化資料處理(清理)的流程,舉個簡單的例子:連結Sheet1 -> 刪除最上面兩列資料 -> 將某欄位篩選去除空白(Blank) -> 去除某些不需要的欄位 -> 載回Sheet2。
多說不如實做,接下來小編將介紹一個較基本的Power Query應用範例給大家看,其也是業界中使用頻率最高的一種用法。
此範例為某工廠廠務室同仁每月要彙總各課向會計報銷費用的資料,因不想要每月向各課經辦要資料,再手動Copy回自己的Excel檔案,故利用Excel Power Query的功能建立Query(查詢),將各課的資料表下載回自己的檔案裡,以後只要更新此Query,即可自動得到各課最新的資料。
下圖為此範例示意圖,最後需將兩個路徑(D:\共享\01-陳氏心及D:\共享\02-阮德孝)的會計報銷費用資料表自動結合起來。
接著會跳出一個瀏覽(
Navigator
)視窗,其中資料夾圖示(
Icon
)代表的是Excel檔案,資料夾裡面可以包含資料表(
Table
)及工作表(
Sheet
)兩種資料,若是資料來源中設有資料表,我們一般會選擇資料表,因為資料表的數據整理程序較工作表來的簡單。
故此範例我們點選陳氏心資料表,接著點選轉換資料(
Transform Data
)後,會自動進入Power Query編輯器。
(1)此編輯器共有4個Tab,其中所有的資料轉換、資料合併等功能皆在Tab
Home、Transform及Add Column
中進行;Tab
View
則是檢示設定,在文章最後會介紹一個不錯的功能給大家。
(2)在編輯器右方有
Query Settings
介面,其包含上方的Query的名稱,下方的Query的步驟(
Steps
),Query步驟依序從上到下,各位可以看到第1個步驟為
Source
(代表我們選取的路徑檔案),第2個步驟為
Navigation
(代表我們選擇了陳氏心資料表,第3個步驟為
Changed Type
(進入Power Query編輯器後會進行自動偵測資料類型)。
(3)資料轉換完成後,點選
Close & Load
即可回到Excel視窗中繼續選擇下載方式。
因為此範例中陳氏心Query不需再進行其他轉換,故可以直接點選
Close & Load
下載回Excel中。
點選
Close & Load
後,會出現兩個選項給你選擇,小編建議新的Query皆點選
Close & Load To
,這樣可接著進行選擇下載方式;若點選
Close & Load
,Excel會直接載入資料表到新的工作表A1儲存格(當然之後還可以修改) 。
若不是新的Query,就只能選擇
Close & Load
。
點選OK後,合併後的資料表即出現在Sheet1的B2儲存格中,大家還可以看到在右側的
Queries & Connections
視窗中,會計費用報銷統計表是顯示6 rows loaded。
未來只要點擊更新圖示,可自動更新陳氏心及阮德孝的資料。(或可於左方資料表範圍內任一儲存格點擊滑鼠右鍵,點選Refresh更新)
講述完了Excel Power Query的基本操作,第一次接觸的朋友可能會覺得有點複雜,但相信在實際操作後會很快上手。
Power Query還有許多實用的功能,包含像樞紐化(Pivot)、反樞紐化(UnPivot)、以某欄位進行集計(Group By),或文字處理等等,未來小編將陸續進行介紹。
大家不要誤以為Power Query是屬於Excel,Power Query也應用於其他軟體中,如Power BI。另針對雲端資料轉換的部分,Microsoft有於Power Apps平台上開發Dataflow軟體(即為Power Query雲端版)。
Power Query有一套自己的程式語言叫「M語言」,一般使用者雖然不用特別去學,但可以學著去看懂它的公式組成,小編認為最好用的就是參數的功能,可以將一個Query的結果做為另一個Query的參數(如日期、比較值等等),以達到更進階之自動化設定。