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
。这可能取决于具体问题。
我正在尝试使用 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
。这可能取决于具体问题。