Power BI while 循环

Power BI while loop

我正在尝试使用 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 的斐波那契数。

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。这可能取决于具体问题。