Добрый день.
Не могу найти где ошибка, в примере нужно посчитать накопительный итог.
Поправьте, пожалуйста
Благодарю.
Не могу найти где ошибка, в примере нужно посчитать накопительный итог.
Поправьте, пожалуйста
Благодарю.
07.06.2019 15:06:29
Добрый день.
Не могу найти где ошибка, в примере нужно посчитать накопительный итог. Поправьте, пожалуйста Благодарю. |
|
|
|
07.06.2019 15:47:29
Mirdv, поправлять, пожалуй не буду. При всем уважении к Кен Пульсу, вариант расчета он дал, мягко говоря не оптимальный по быстродействию (зато полукнопочный!), а ковыряться где вы там еще и накосячили вообще нет желания.
Зато поделюсь вариантом от местного старожила Андрей VG, добрый человек с год назад кому-то тут помог такой функцией (я её слегка только переделал для удобства использования):
Изменено:
Вот горшок пустой, он предмет простой...
|
|||
|
|
07.06.2019 16:13:33
|
|
|
|
07.06.2019 17:05:50
Mirdv, да ладно, чего там непонятного?
Изменено:
Вот горшок пустой, он предмет простой...
|
|||
|
|
10.06.2019 07:54:12
PooHkrd, благодарю за ваши комментарии к коду
Конечно так намного проще разбирать код и понять логику построения кода |
|
|
|
26.06.2019 09:01:07
Добрый день.
Нашел на просторах Интернет еще вариант Самое простое решение на мой взгляд |
|
|
|
26.06.2019 09:10:30
Доброе время суток
Простота - она порой... |
|||
|
|
26.06.2019 09:42:11
Mirdv, с точки зрения реализации - да. На массиве 20к строк этот простой алгоритм отработал за 6 минут 33 секунды. Алгоритм на List.Generate за 1 секунду. 1кк строк за 26 секунд, "Простой" алгоритм я на таком массиве даже запускать боюсь.
Вот вам примерчик - можете поэкспериментировать. Смысл в том, что формируется единый список на основании котрого List.Generate за один проход делает готовый результа, который остается только сцепить с исходной таблицей. В "простом" алгоритме вы обрабатывает такое количество таблиц, сколько строк в массиве, т.е. для 20к строк вы 20 тыс раз обсчитываете огромную таблицу, а с List.Generate только один раз + 1 джойн.
Изменено:
Вот горшок пустой, он предмет простой...
|
|
|
|
26.06.2019 10:05:31
|
|
|
|
26.06.2019 10:21:06
Андрей VG, думаю не суть как исходной таблице приклеить получившийся результат, главное что результат формируется за один проход по всем строкам таблицы.
Вот горшок пустой, он предмет простой...
|
|
|
|
26.06.2019 10:38:59
Всем здравия.
За комментарий как работают алгоритмы благодарствую. P.s. Я обучаюсь PQ здесь на форуме на чужих примерах. Комментариев в примерах не много, а спецам итак все понятно Прошу прощения мне не всегда все сразу понятно, хотя в примере все просто и очевидно. И ясно почему, потому что уже готово и главное работает. Но процесс освоения не стоит на месте, пусть и идет не так быстро, как это получается у других. |
|
|
|
26.06.2019 15:47:30
|
|||
|
|
26.06.2019 16:35:34
Все что я пока могу, это разобрать как работает запрос до момента появления функции. Честно говоря, первый раз встречаю запрос без последовательных шагов - "одним куском". Посмотрел путем создания пустого запроса и копированием каждый раз новой строки из запроса в примере, но только до момента когда появляется первая функция Разобрать или переделать функцию обратно в запрос пока не могу. Сохранил в копилку как рабочее решение P.s. Может кто встречал пояснение как функцию из запроса переделать в запрос (извините за каламбур) или всем итак ясно, кроме меня конечно же Power Query Formula Language Specification - про это в курсе, ковыряю насколько позволяют знания Англ )
Изменено: |
|
|
|
26.06.2019 20:28:43
Переписал дабы ускорить
Изменено: |
|||||
|
|
27.06.2019 08:11:20
-благодарю за ваш вариант |
||||
|
|
|||