我有4个维度,其中之一是日期。我需要针对每个日期,每个维度值计算过去30天的平均值。
我尝试以以下形式对4个维度的分区求平均值:
SELECT
Date, Produce,Company, Song, Revenues,
Average(case when Date between Date -Interval '31' day and Date - Interval '1' Day then Revenues else null End) over (partition by Date,Company,Song,Revenues order by Date) as "Running Average"
From
Base_Table
我尝试的每次聚合都只能得到null。 感谢帮助。谢谢
答案 0 :(得分:1)
您可以在下面尝试-
SELECT
Date, Produce,Company, Song, Revenues,
Average(Revenues) over (partition by Company,Song rows between 30 preceding and current row) as "Running Average"
From
Base_Table