У меня проблемы со скользящей средней в BigQuery / SQL, у меня есть таблица «SCORES», и мне нужно сделать 30-дневную скользящую среднюю при группировке данных с использованием пользователей, проблема в том, что мои даты не последовательные, напримерв ней есть пробелы.
Ниже мой текущий код:
SELECT user, date,
AVG(score) OVER (PARTITION BY user ORDER BY date)
FROM SCORES;
Я не знаю, как добавить ограничения даты в эту строку или, если это вообще возможно.
Моя текущая таблица выглядит так, но, конечно, с гораздо большим количеством пользователей:
user date score
AA 13/02/2018 2.00
AA 15/02/2018 3.00
AA 17/02/2018 4.00
AA 01/03/2018 5.00
AA 28/03/2018 6.00
Тогда мне нужно, чтобы она стала такой:
user date score 30D Avg
AA 13/02/2018 2.00 2.00
AA 15/02/2018 3.00 2.50
AA 17/02/2018 4.00 3.00
AA 01/03/2018 5.00 3.50
AA 28/03/2018 6.00 5.50
Где вВ последней строке измеряется только обратное значение из-за даты (до 30D в обратном направлении). Есть ли способ реализовать это в SQL или я требую слишком много?