Power Query中自定義函數大緻分成三類:
在循環、疊代、遞歸處理中,經常會見到這樣的函數,直接用()=>來定義的函數:
這樣一個循環結構中,(x)=>x 1就是一個自定義函數。
雙重循環中的:(x)=>{1..3},(x,y)=>x*y都是自定義函數。
這樣的過程中自定義函數的參數傳遞,依賴于M函數的要求,參數的數量及位置已經被外層的M函數限定。
獨立函數:直接通過高級編輯器編寫的結構完整的函數,可以被其他查詢引用的函數:
我們定義了兩個函數,一個單個參數的,一個兩個參數的:
我們來引用單個參數的函數:
又或者:
都是一樣的結果。
兩個參數的函數引用:
除了這樣用List.Transform引用,也可以直接引用,就輸出單個結果:
得到結果16。這是獨立函數,可以被其他查詢引用的結構完整的函數。
由過程創建的函數:這是在一系列的操作過程結束後,如果這個過程有很強的通用性,可以做成一個獨立函數來處理其他數據,那麼就可以由這個處理過程來創建一個函數,最常見的是多文件合并的那個自定義函數。
我們由查詢4來創建一個函數:
查詢4是一個引用了雙參數函數的一個查詢過程,在這個查詢過程右鍵點擊創建函數:
進到高級編輯器中來添加我們的參數:
那麼這個函數的功能是修改雙重循環的外層循環的起始值:
我們輸入9,就得到最後三行結果:
我們輸入7,就得到{7,8,9}*{1,2,3}:
這就是一個由過程創建的函數。
這樣的函數會有兩套的let in 過程,甚至更多。
以上就是Power Query中自定義函數相關的内容,在Power Query中很多問題都可以通過自定義函數的方式解決,比如網絡抓取過程,我們可以定義多個自定義函數,抓網址、抓頁碼、抓内容,然後通過互相引用,得到我們想要的結果。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!