我正在尝试在Power BI M语言中执行while循环。但所有的逻辑都在我的头上!
你会如何将这样一个非常简单的循环翻译成M语言?
while X == True:
do abcdef
if Y == True:
end
非常感谢!
M中的循环可能最好用List.Generate
function处理。
本文在解释它的工作原理方面做得非常好: https://potyarkin.ml/posts/2017/loops-in-power-query-m-language/
使用此函数,让我们看一下while循环的更具体的实现,比如找到小于1000的Fibonacci数。
a = 1
b = 1
while b < 1000
b = a + b
a = b - a
会翻译成M这样的东西:
let
data =
List.Generate(
() => [ a = 1, b = 1 ],
each [b] < 1000,
each [ b = [a] + [b], a = [b] ]
),
output = Table.FromRecords(data)[a]
in output
我不确定处理你的休息状态Y
的最佳方法。这可能取决于具体问题。