Power Query M語言中的閉包可以遞歸嗎?電源查詢閉包和遞歸;關於這個的教科書?
函數可以是遞歸的。我命名爲函數查詢斐波那契,定義爲
(X) =>
let
Fib = if X <= 1 then 1 else X + Fibonacci(X - 1)
in
Fib
它工作正常。但是,當我試圖在一個查詢中站立起來,它就會失去:
let
Fib = (X)=> if X <= 1 then 1 else X + Fib(X - 1),
Source = Table.FromRecords({[X=1],[X=2],[X=3],[X=5]}),
UseIntFib = Table.AddColumn(Source, "Fib", each Fib([X]))
in
UseIntFib
結果表是
1 1
2 Error
3 Error
5 Error
與錯誤的消息是「纖維蛋白原沒有發現,你忘了導入一個模塊?'
是否有其他解決方法?或者,如果我需要遞歸函數,它是否必須作爲自己的查詢來站起來?
元查詢 - 在男,就像
本地定義的函數Fib = (X)=> if X <= 1 then 1 else X + Fib(X - 1)
稱爲關閉或lambda表達式,還是什麼?我見過'他們用過,只是沒有聽到'電子名爲。所以我不確定如何搜索關於他們的帖子。
有沒有一本很好的教科書或在線資源可以教會我所有關於Power Query關閉的知識?我的前往文本,M是(DATA)猴子,幾乎沒有提到他們。大多數情況下,我只想要大量的例子。我想了解一下
- 當使用它們
- 遞歸和互遞歸
- 如何與/比較使用每個
- 多語句關閉 - 使用讓一個內讓。
- 調試他們
如果你會如此友好地回答我對你以前的問題的答案https://stackoverflow.com/questions/45623765/excel-power-query-using-list-matchany-on-a-column-value 我會考慮對這個新問題作出反應。 – MarcelBeug
完成,謝謝。我仍然在學習圍繞着StackOverflow的方式;對不起,我沒有及時回覆。 –