Нужна помощь в поиске скользящего среднего показателя за 9 недель для данных временных рядов - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть данные таблицы временных рядов, и мне нужно скользящее среднее значение столбца Demand за 9 рабочих недель.

[attached is imagee][1].

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Не могли бы вы попробовать следующий SQL-запрос, который рассчитывает среднее значение за 9 недель (на самом деле сейчас недели, но следующие 9 строк, включая себя в отсортированных данных по столбцу номеров ROW, id)

with cte as (
    select
        cast(substring(id,4,length(id)) as integer) as rid,
        id,week1,demand
    from demands
)
select
c.*,
(select sum(t.demand) from cte t where t.rid between c.rid and (8 + c.rid)) as smm
from cte c;
0 голосов
/ 06 февраля 2019

Предполагая, что ваша СУБД имеет функцию avg, вы идете:

select avg(demand)
from yourtable
where week_series >= 1 and week_series <= 9;
...