как использовать List.Generate как цикл - PullRequest
0 голосов
/ 27 июня 2019

Это может быть просто, но я буду признателен за любую помощь, чтобы подтолкнуть меня в правильном направлении. Я пытаюсь использовать list.generate в запросе мощности для подсчета количества тиков на основе разницы от 1-5. Обязательным условием является использование цикла, например list.generate.

текущий тикс-1

текущий тикс-2

текущий тикс-3

текущий tix-4

текущий тикс-5

= Table.AddColumn(#"Added Custom1", "Count", each List.Count(Table.SelectRows(#"Added Custom1", (C) => 
(
    [Tix]=C[Tix]-(List.Generate(()=>1,each _ 5, each _ - 1))
    )
    )[Column1]))

Вот пример данных. Идея заключается в том, чтобы я мог вставить сгенерированную серию чисел в виде цикла. это самое простое представление, потому что для другой формулы мне нужно сгенерированное число как x например. (-1/2 х * х + 41/2 х).

+-------------+------------+
 TIX          |TIX count   |
5,000,243     | 0          |
6,991,904     | 0          |
6,991,905     | 1          |
6,991,906     | 2          |
6,991,907     | 3          |
6,991,908     | 4          |
7,000,234     | 0          |
+-------------+------------+

Проще говоря, мой целевой код должен выглядеть примерно так, и я считаю, что это можно упростить с помощью list.generate.

        = Table.AddColumn(#"Added Custom1", "Count", each List.Count(Table.SelectRows(#"Added Custom1", (C) => 
(
    [Tix]=C[Tix]-1
   +[Tix]=C[Tix]-2
   +[Tix]=C[Tix]-3
   +[Tix]=C[Tix]-4
   +[Tix]=C[Tix]-5 )
    )
    )[Column1]))

Попробовал другой код, основанный на почти аналогичном посте: Power Query M таблица / поиск в цикле с помощью самостоятельного соединения . Это также возвращает ошибку. Посоветуйте пожалуйста что я делаю не так.

= Table.AddColumn(
    #"Renamed Columns", 
    "Count", 
        List.Sum(
                List.Generate(
                    () => [Continue = 1],
                    each [Continue]<6,
                    each [Count = 
                                List.Count(
                                    Table.SelectRows(
                                        #"Renamed Columns", 
                                        (x) => x[Tix]-[Continue]= [Tix]))[Column1]],
                                                     each [Count])))

1 Ответ

0 голосов
/ 01 июля 2019

В результате исследования я нашел решение:

= Table.AddColumn(#"Added Custom2", 
"Count", each List.Sum(
List.Generate(
() => [Count=List.Count(Table.SelectRows(#"Added Custom2",
(C) => C[Tix] = [Tix]-Continue)
[Column1]),
Continue =1],
each [Continue]<=10,
each [Final_Item = [Final_Item], 
Continue =[Continue]+1],
each [Count])))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...