Power Query Продвинутый №30. Нарастающий итог с List.Generate

preview_player
Показать описание
В этом уроке мы разберем функцию List.Generate, а также при помощи этой функции выполним нарастающий итог, который в сотни раз быстрее предыдущих версий нарастающего итога.

Рекомендации по теме
Комментарии
Автор

Спасибо Тимур за ваши уроки это здорово!

МихаилДжангильдин
Автор

0:32 Принцип работы List.Generate в визуализаторе Python.
10:04 Справка List.Generate
10:35 Пример_1
14:37 Пример_2 - Нарастающий итог

NotEmpty
Автор

Тимур, проясните, пожалуйста про List.Buffer. В ролике вскользь было упомянуто про данную функцию, но не сказано, зачем она была применена, хотя предполагаю, что именно она дает возможность запросу так быстро отрабатывать... Или в дальнейших роликах будет про нее?

АлексейУшаков-ви
Автор

Браво!

Удивляюсь сколько качественных видео материалов и как доходчиво объясняет автор!)

Интересная функция List.Generate... Понравилось, что на примере урока обновления происходит практически мгновенно ... в сравнении с результатом "Нарастающий итог Старый" (у меня на обновление ушло 2 мин. 12 сек.)... - огромная разница... Интересно на сколько в будущем при использовании этой функции можно будет сэкономить времени?)

Тимур, часто используете функцию List.Generate в работе?

Очень рад, что делитесь знаниями! У вас это хорошо выходит) Спасибо!

romanvasiura
Автор

Добрый вечер, Тимур. Подскажите, если я на первом шаге определюсь две переменные [i=0, n=4], а на втором укажу [i] <= [n], то в результате получается List, в котором одно значение Error. Если на втором шаге вместо [n] я указываю цифру 4, то все работает нормально. На третьем шаге я просто прибавляю 1 к [i]. Как написать условие, при котором сравниваются две переменные?

СЕРГЕЙСАДОВНИЧИЙ-йк
Автор

Тимур, а как сделать нарастающий итог по неким разрезам, например, по подразделениям?

ЕвгенийХильчук-ръ
Автор

Тимур, здравствуйте. Решилась спросить:) По какой причине может "Зациклиться" выполнение кода? Проверила правильность написания(вплоть до пробелов ваших скопировала точно). В результате даже не появилось окно: Print output, где должен выводиться результат. В области: Global frame "result 4" (т.е. 1-ый цикл) виден, но не более Сомневаюсь, что это принципиально для меня, я не программист. Первый раз зашла на сайт Python Tutor. Но понять "сложную функцию Power Query" хочется. Может быть, ответ лежит на поверхности? Заранее Благодарю.

natalyakonovalova_
Автор

Добрый день, "Файлы к уроку доступны спонсорам канала." - где найти к этому видео?

anli
Автор

В общем, как я понял функцию List.Generate:
1. В initial:
1.1 всегда пишется пользовательская функция ()=>
1.2 чаще всего задаётся запись;
1.3 первое поле записи - используется для цикла, условие окончания которого задаётся в condition;
1.4 второе поле записи - используется для накопления результата
2. condition, next, selector - начинается с each
3. В condition задаётся условие окончания цикла для первого поля в записи initial
4. В next:
4.1 задаётся та же запись, что в initial;
4.2 первому полю задаётся условие цикла, то есть к первоначальному значению поля прибавляется 1
4.3 второму полю задаётся необходимое условие, то есть к первоначальному значению поля применяется какая-то дополнительная функция или операция
5. В итоге получаем список с записями, где первое поле - пройденные циклы, второе значение - полученные значения на каждом витке цикла
6. Если нужно вывести не список записей, а лист результатов второго поля - задаём это поле в selector

ДмитрийНикитин-ио
Автор

Зачем в цикле делать if, else, если изначально переменную Результат можно приравнять к 0 как и переменную шага цикла, и без If -> прописать: результат = результат + результат_i

AlekseyNA
Автор

Канал крутой, но вообще не влетает в голову понимание лист, запись и т.д. Как то слишком мудрёно все работает через разные виды скобочек, знаков и т.д.

ВладиславСырбу-це