使用Power Query進行複雜一些的數據處理,離不開M函數,目前已經有超過700個函數了,基本上各式各樣的數據處理需求都可以使用M函數實現,如果你覺得這些還不夠,或者使用起來不是很方便,也可以在PQ中自定義函數。
自定義函數的語法
如果在M編輯器中看到這個符號: => ,就是有自定義函數在裡面,自定義函數的基本語法是:
函數名=(參數1,參數2,參數3……)=>表達式
函數名可以任意寫,只要和M語言裏的關鍵字不要重複就行,參數至少有1個,放在括弧中,如果有多個參數,以逗號分隔,=>後面就是自定義函數的表達式。
為了保證結果的準確性,可以預先限定參數的數據類型,假如有兩個參數a和b,限制為數值型,可以這樣寫:
函數名=(a as number,b as number)=>表達式
當然不限制也是可以的,不限制就是可以為任意類型。
參數還可以是可選的,在參數前加上optional就可以了,比如有兩個參數,第一個參數a,第二個參數b是可選參數,自定義函數這樣寫:
函數名=(a,optional b)=>表達式
這樣只要輸入參數a,無論是否輸入參數b都可以調用這個自定義函數了。
自定義函數示例
我們先在Power Query編輯器中創建一個簡單的自定義函數,新建一個空查詢,在編輯器重輸入:= (x)=>{1..x},確定後出現參數調用窗口,