
Описание
В этом уроке мы научимся считать скользящее среднее в Power Query. Для примера рассчитаем скользящее среднее предыдущих 13 значений.

Решение
В Power Query эта задача решается очень легко. Для нахождения скользящего среднего в Power Query нам понадобится всего лишь 3 основных шага:
- Добавление столбца индекса
- Создание списка предыдущих 13 значений
- Усреднение этих 13 значений
Чтобы получить список предыдущих 13 значений мы воспользуемся функцией List.Range.
Для усреднения значений из списка мы воспользуемся функцией List.Average.
Примененные функции
- Table.TransformColumnTypes
- Int64.Type
- Table.AddIndexColumn
- Table.AddColumn
- List.Range
- List.Average
- Number.Type
Код
let
source = Excel.CurrentWorkbook(){[Name = "Данные"]}[Content],
types = Table.TransformColumnTypes(
source,
{{"№", Int64.Type}, {"Число", type number}}
),
table_index_col = Table.AddIndexColumn(types, "Индекс", 0, 1),
table_add_col_range = Table.AddColumn(
table_index_col,
"Диапазон",
each try
List.Range(table_index_col[Число], [Индекс] - 13, 13)
otherwise
{}
),
table_add_col_ma = Table.AddColumn(
table_add_col_range,
"Скользящее среднее",
each try
List.Average(
List.Range(table_add_col_range[Число], [Индекс] - 13, 13)
)
otherwise
null,
Number.Type
)
in
table_add_col_ma