Страницы: 1
RSS
Циклы в PQ, Подсчет в PQ
 
Если коротко то надо перенести расчеты с Excel на PQ.
Надо взять пошлые 12 месяцев  и считать по ним среднее, но с учетом того что в этом диапазоне должны фигурировать данные уже ранее подсчитанные.
Думаю как-то через циклы можно решить это, но не понимаю как.
Буду рад любой помощи и советам)
Изменено: Zxc_bool - 22.03.2024 13:07:19
 
Если данных меньше, чем за 12 мес, то вообще ничего не считать? И почему в Курилке, кстати?
Пришелец-прораб.
 
Не до конца понял как форум устроен, прошу прощения.
Да, если данных меньше то ничего не ставить
 
Вариант
Код
let
    src = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    tp = Table.TransformColumnTypes(src,{{"Месяц", type date}, {"Значение", type number}}),
    srt = Table.Sort(tp,{{"Месяц", Order.Ascending}}),
    ind = Table.AddIndexColumn(srt, "Ind", 0, 1, Int64.Type),
    add = Table.AddColumn(ind, "Gen", 
                              (x)=> List.Generate(()=>
                                    [y = 0, v = ind[Значение]{y}, s = {v}],
                                    each [y] < Table.RowCount( ind),
                                    each [y = [y]+1, v = if ind[Значение]{y} = null then List.Average( List.LastN([s], 12)) else ind[Значение]{y}, s = [s] & {v}],
                                    each List.Last ([s]) 
                                    ){x[Ind]}
                            ),
    rmv = Table.RemoveColumns(add,{"Значение", "Ind"})
in
    rmv
upd: Думаю, нужно перенести тему в основную ветку. Модераторы, перенесите, пожалуйста. Название темы: Расчет скользящей средней за период в PQ
Изменено: Alex - 22.03.2024 14:58:47
 
Спасибо)
 
с параметром даты окончания расчетов
List.Generate

рекурсия
Изменено: AlienSx - 23.03.2024 06:22:14
Пришелец-прораб.
 
Буду сидеть вникать, спасибо огромное
Страницы: 1
Наверх