Power BI while loop - PullRequest
       12

Power BI while loop

0 голосов
/ 04 января 2019

Я пытаюсь сделать цикл while на языке Power BI M. Но вся логика у меня над головой!

Как бы вы перевели такой простой цикл, как этот, на язык М?

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

Большое спасибо!

1 Ответ

0 голосов
/ 15 апреля 2019

Циклы в M, вероятно, лучше всего обрабатывать с помощью функции List.Generate .

Эта статья довольно хорошо объясняет, как это работает:
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. Это может зависеть от конкретной проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...