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

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 31

  • @comrade_excel
    @comrade_excel  3 роки тому

    Файлы для спонсоров Boosty: boosty.to/comrade-xl/posts/7b4ca60a-1d71-4fea-b94d-6b47e182b687?share=post_link
    Файлы для спонсоров ВК: vk.com/comrade.excel?w=wall-185123800_193
    Файлы для спонсоров UA-cam: ua-cam.com/users/postUgwiq7K02QtQmYJtgjx4AaABCQ
    Индивидуальное обучение: comrade-xl.ru/pq-training/
    Страница урока на сайте: comrade-xl.ru/2020/05/01/power-query-list-generate/

  • @МихаилДжангильдин
    @МихаилДжангильдин 4 роки тому +1

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

  • @NotEmpty2011
    @NotEmpty2011 3 роки тому +1

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

  • @АлексейУшаков-в1и
    @АлексейУшаков-в1и 4 роки тому +3

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

    • @comrade_excel
      @comrade_excel  4 роки тому +6

      Я немножечко про нее рассказываю в еще в одном или двух уроках по функциям List.Accumulate, List.Generate. Про нее будет отдельный урок. Функция нужна, когда мы в каждой строке обращаемся к какому-то другому запросу. Получается, что Power Query в каждой строке этот запрос проверяет и обновляет. При помощи x.Buffer мы даем понять, что запрос нужно забуферовать в одном виде и не перепроверять его в каждой строке.

    • @АлексейУшаков-в1и
      @АлексейУшаков-в1и 4 роки тому +2

      @@comrade_excel Спасибо за ответ! И отдельное спасибо за Вашу работу. Самое главное, не останавливайтесь )))

    • @comrade_excel
      @comrade_excel  4 роки тому +2

      Вам спасибо за поддержку! Благодаря вам и не останавливаюсь )

  • @ДмитрийНикитин-и8о
    @ДмитрийНикитин-и8о 11 місяців тому

    В общем, как я понял функцию 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

  • @pavelandreev6023
    @pavelandreev6023 4 роки тому +2

    Круто

  • @alievairina
    @alievairina Рік тому

    Спасибо!

  • @romanvasiura6705
    @romanvasiura6705 4 роки тому

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

    • @comrade_excel
      @comrade_excel  4 роки тому +1

      Большое спасибо! В работе я применял это не очень часто. Вычисления обычно все таки выполняются в Power Pivot.

    • @romanvasiura6705
      @romanvasiura6705 4 роки тому

      @@comrade_excel Спасибо за комментарий...
      Вспомнил (после вашего ответа), что вычисления рекомендуют делать в PP.

    • @ДмитрийНикитин-и8о
      @ДмитрийНикитин-и8о 11 місяців тому

      @@comrade_excel а как сделать так, чтоб ещё в эксель таблица с нарастающим итогом в 50 тыс. строк выгружалась быстро?

  • @ДмитрийНикитин-и8о
    @ДмитрийНикитин-и8о 11 місяців тому

    Правильная нумерация урока - № 27

  • @СЕРГЕЙСАДОВНИЧИЙ-й9к

    Добрый вечер, Тимур. Подскажите, если я на первом шаге определюсь две переменные [i=0, n=4], а на втором укажу [i]

  • @ЕвгенийХильчук-р6ъ

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

    • @comrade_excel
      @comrade_excel  4 роки тому

      На небольших таблицах можно так ua-cam.com/video/k6taN9mew-8/v-deo.html

  • @natalyakonovalova_
    @natalyakonovalova_ 4 роки тому

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

    • @comrade_excel
      @comrade_excel  4 роки тому

      Здравствуйте, Наталья!
      Если в цикле while условие окончания не может выполниться, то цикл будет бесконечным. Возможно, вы перепутали знак больше и меньше.

  • @anli484
    @anli484 3 роки тому

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

    • @comrade_excel
      @comrade_excel  3 роки тому

      Добрый день!
      Ищите на вкладке "Сообщество" ua-cam.com/channels/wAru3vDmH-IdYtwK7JWN4w.htmlcommunity

  • @AlekseyNA
    @AlekseyNA 8 місяців тому

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

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

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

    • @comrade_excel
      @comrade_excel  4 роки тому +5

      Смотрите более ранние уроки, где разбираются объекты Power Query: лист, запись, таблица. Если делать все вместе со мной, то все станет ясно. Пока вы руками все не проделаете, то не поймете. Понимание происходит через практику.

    • @anmiss08
      @anmiss08 4 роки тому +4

      @@comrade_excel скорость способа решения потрясает, выходит это не pq тормозной, а знаний и опыта маловато