Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Рассчитать скользящее среднее в Power Query
 
Как можно рассчитать скользящее среднее в Power Query?
 
dkochebaev, вам на пальцах рассказать? Или за вас файл пример сделать?
 
а в чем проблема? зная как рассчитывается "среднее скользящее" можно пошагово все посчитать. Если вы имели ввиду - если ли отдельная кнопка в PQ для подобного расчета, то нет.
 
Доброе время суток
Цитата
Anton555 написал:
если ли отдельная кнопка в PQ для подобного расчета, то нет.
Добавлю, оконные/аналитические функции далеко не конёк Power Query. У меня нарастающая сумма на миллионе строк у меня лучше 10 секунд не получалась. На VBA это менее секунды.
 
технически не понимаю, как вычислять по части поля
(пример во вложении)
 
Ну если из двух и без заморочек, то так:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"данные", type number}}),
    #"Добавлен индекс" = Table.AddIndexColumn(#"Измененный тип", "Индекс", 0, 1),
    #"Добавлен индекс1" = Table.AddIndexColumn(#"Добавлен индекс", "Индекс.1", 1, 1),
    #"Объединенные запросы" = Table.NestedJoin(#"Добавлен индекс1",{"Индекс"},#"Добавлен индекс1",{"Индекс.1"},"Пред",JoinKind.LeftOuter),
    #"Развернутый элемент Пред" = Table.ExpandTableColumn(#"Объединенные запросы", "Пред", {"данные"}, {"Пред.данные"}),
    #"Сортированные строки" = Table.Sort(#"Развернутый элемент Пред",{{"Индекс", Order.Ascending}}),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Сортированные строки", "Пользовательская", each ([данные] + [Пред.данные]) / 2),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Добавлен пользовательский объект",{"Индекс", "Индекс.1", "Пред.данные"})
in
    #"Удаленные столбцы"

Если делать универсально, то надо использовать List.Accumulate, либо List.Generate. Вот статья как этим инструментом пользоваться.
Изменено: PooHkrd - 23 Окт 2018 09:24:53
Вот горшок пустой, он предмет простой...
 
Хитро)
Однако, если считать скользящее среднее за 7 дней или за месяц,
то получится довольно громоздко.

Спасибо за ссылку, попробую разобраться.
Возможно получится более элегантное решение.
 
Цитата
dkochebaev написал:
Возможно получится более элегантное решение.
С List.Generate точно получится более элегантное решение, но надо помнить.
Цитата
Андрей VG написал:
оконные/аналитические функции далеко не конёк Power Query
Это он как раз про это написал.
Вот горшок пустой, он предмет простой...
 
Спасибо. )
Страницы: 1
Читают тему (гостей: 1)
Наверх