官术网_书友最值得收藏!

1.5 Power Query的底層語言——M語言

很多人在第一次接觸Power Query時,覺得非常難以下手。由于它的執行語言M語言的底層語法和我們所學習的Excel函數的語法規則完全不同,很多人在學習一段時間都放棄了。那么,什么是Power Query的M語言呢?

M語言是Power Query的底層應用語言,Power QueryGUI 界面的操作都將會轉換為M語言。通過界面能夠完成80%的工作,另外20%我們不能通過界面完成,只能通過編寫相應的M語言處理過程來實現數據的處理,一個非常明顯的案例就是自定義函數的使用。在默認的界面下并不會顯示整個M語言的處理過程,需要單擊“高級編輯器”按鈕才能看到當前處理過程的M語言執行步驟。不管是Excel還是Power BI,M語言開啟高級編輯器都是一樣的操作,在“數據”選項卡中選擇“獲取數據”→“啟動Power Query編輯器”命令進入Power Query編輯器界面,如圖1.28所示。

圖1.28? 進入Power Query編輯器

在Excel的Power Query編輯器界面中,直接單擊如圖1.29所示的“高級編輯器”按鈕即可進入高級編輯器界面。

圖1.29? Excel中的Power Query高級編輯器

Power BI進入高級編輯器的方法和Excel 略有不同。在Power BI中調用Power Query,首先通過“編輯”按鈕進入Power Query編輯器界面,在Power Query編輯器中進入高級編輯器界面的方法相較于Excel更加簡單,畢竟Power Query已經深度集成到Power BI中。在Power BI的界面中單擊“轉換數據”按鈕,進入Power Query編輯器的主界面后單擊“高級編輯器”按鈕即可進入高級編輯器界面,如圖1.30所示。

圖1.30? Power BI中的高級編輯器

在實際的使用過程中,Power Query的所有操作步驟將通過Power Query翻譯成M語言進行數據的再處理,圖1.31展示了當前高級編輯器的功能。

圖1.31? 高級編輯器提供的功能

●Tips

關于Power Query的M語言,我們將在第3章詳細討論它的語法規則和使用方法。

1. M語言的使用場景

當然,Power Query的M語言應用場景不只是應用在Power BI和Excel中,它還具有其他廣泛的應用場景,目前我們可以在以下產品的使用場景中應用到M語言。

■ SSAS分析服務。

■ Office 365的Flow。

■ SSIS數據集成服務。

■ Azure Data Factory 服務。

相信隨著微軟數據類產品分類的增多和增強,Power Query的應用場景將會越來越廣泛。

在微軟的最新各個產品中,Power Query的產品集成度越來越高,究竟是什么原因讓微軟選擇Power Query?主要源于Power Query的以下特性。

■ 簡單易用。

■ 集成性佳。

■ 快速處理各類數據。

2. Power Query的學習路徑

Power Query這么多優點,該怎么去學習呢?很多人迫切希望了解Power Query全景知識和它提供的相應功能,但對于Power Query的底層M語言來說,一開始就進行自定義函數的構建當然也是不可能的,這里有相應的學習路徑來進行由淺入深的學習,幫助讀者更好地理解Power Query的整體脈絡,同時也可以更深入地理解Power Query提供的各類數據集成和清洗功能。

圖1.32是一張Power Query的學習成長路徑圖,通過該圖可以很輕松地理解Power Query整體的知識結構。

Power Query從簡單到復雜可以分成兩個部分,大部分簡單的操作可以通過UI界面完成,如下所示。

■ 數據連接:實現各類不同的數據源導入。

■ 數據刪除:按照實際需求實現行列數據的刪除。

■ 數據排序:根據需求進行數據行的排序。

■ 數據轉換:依據實際需求完成數據格式的轉換。

數據添加

圖1.32? Power Query的學習成長路徑圖

■ 數據添加:按照實際需求完成數據內容的添加。

■ 合并數據:合并兩個或多個表數據。

有一部分比較復雜的任務沒有辦法通過UI界面完成,相對來說學習難度會稍微大一點,這些內容如下所示。

■ 簡單函數:利用現有的Power Query簡單函數進行簡單應用。

■ 高級函數:使用復雜的Power Query函數實現數據的計算。

■ 自定義M語言函數:建立可以重用的自定義函數實現函數的重用。

從圖1.32能夠看出,難度最高的依然是自定義M函數,如果能夠非常自如地使用自定義M函數來實現各類不同的Power Query場景,也就可以順利地完成整個Power Query從低到高的學習。

主站蜘蛛池模板: 洪湖市| 桦甸市| 日照市| 栖霞市| 碌曲县| 泽库县| 台中县| 台安县| 闽侯县| 宿松县| 闸北区| 佛山市| 汉寿县| 鄂州市| 洪湖市| 鹤岗市| 罗城| 张家港市| 清流县| 调兵山市| 湘潭县| 怀宁县| 治多县| 邢台县| 瑞金市| 东乡族自治县| 湘阴县| 高台县| 无为县| 抚宁县| 龙南县| 铜梁县| 遵义市| 云和县| 鄂尔多斯市| 丰顺县| 旬邑县| 香河县| 乾安县| 衢州市| 东山县|