rss
  •  
Обучение Microsoft Excel: от основ до PowerBI

Нарастающий итог в Power Query

| Категория: PowerQuery, Надстройки Power, Приемы и советы |

2

Нарастающий итог в Excel можно вычислить несколькими способами. Например, использовать простейшие формулы или задействовать дополнительные вычисления в сводных таблицах. Однако, если источник получен различными преобразованиями в Power Query, то логично получить и конечный результат в Power Query.

Например, есть таблица и необходимо вычислить накопительным итогом по месяцам, начиная с начала года:

Алгоритм действий:

  1. Добавить столбец индекса с 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. Удалить лишние столбцы, настроить типы данных – результат готов:

… но это не единственный способ. И в нем есть плюсы и минусы.




Оставьте комментарий!

На сообщение “Нарастающий итог в Power Query” комментария 2

  1. Владимир:

    Долго искал нарастающий итог по условию, аналог СУММЕСЛИ.
    В итоге разобрался, если кому поможет вот функция:
    (Таблица, КолСтрок) =>
    let
    RowFirst = Table.FirstN(Таблица,КолСтрок),
    AutoFilter = Table.SelectRows(RowFirst, each ([#”ID Позиции”] = Table.LastN(RowFirst, 1){0}[#”ID Позиции”])),
    Итог = List.Sum(AutoFilter[#”Количество потребности”])
    in
    Итог

    Где #”ID Позиции” это столбец условия, а #”Количество потребности” это столбец суммирования при выполнении условия

  2. Иван:

    Для небольших табличек работает нормально