循环时功率BI

问题描述 投票:2回答:1

我正在尝试在Power BI M语言中执行while循环。但所有的逻辑都在我的头上!

你会如何将这样一个非常简单的循环翻译成M语言?

while X == True: do abcdef if Y == True: end

非常感谢!

while-loop powerbi m
1个回答
1
投票

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的最佳方法。这可能取决于具体问题。

© www.soinside.com 2019 - 2024. All rights reserved.