Нарастающий итог в Power Query
Категория: PowerQuery, Надстройки Power, Приемы и советы | Опубликовано 07-02-2021
|2
Нарастающий итог в Excel можно вычислить несколькими способами. Например, использовать простейшие формулы или задействовать дополнительные вычисления в сводных таблицах. Однако, если источник получен различными преобразованиями в Power Query, то логично получить и конечный результат в Power Query.
Например, есть таблица и необходимо вычислить накопительным итогом по месяцам, начиная с начала года:

Алгоритм действий:
- Добавить столбец индекса с 1.

2. Добавить пользовательский столбец, например, Диапазон, с использованием функции List.Range.
List.Range(list as list, offset as number, optional count as nullable number) as list

В результате сформированы списки — каждый раз от 1-го элемента до текущего:

3. Суммировать элементы списка функцией List.Sum. Добавить пользовательский столбец, например, Накопительный итог:
=List.Sum([Диапазон])
4. Удалить лишние столбцы, настроить типы данных — результат готов:

… но это не единственный способ. И в нем есть плюсы и минусы.
19.03.2021 (09:51)
Долго искал нарастающий итог по условию, аналог СУММЕСЛИ.
В итоге разобрался, если кому поможет вот функция:
(Таблица, КолСтрок) =>
let
RowFirst = Table.FirstN(Таблица,КолСтрок),
AutoFilter = Table.SelectRows(RowFirst, each ([#»ID Позиции»] = Table.LastN(RowFirst, 1){0}[#»ID Позиции»])),
Итог = List.Sum(AutoFilter[#»Количество потребности»])
in
Итог
Где #»ID Позиции» это столбец условия, а #»Количество потребности» это столбец суммирования при выполнении условия
06.01.2022 (05:58)
Для небольших табличек работает нормально