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 後方) のために後方 1 つだけを測定していますが、SQL でこれを実装する方法はありますか、それともあまりにも多くを求めていますか?