Нарастающий итог в 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)
Для небольших табличек работает нормально