Comparație săptămână după săptămână
În exercițiul anterior, ai folosit o fereastră fixă de o lună pentru a calcula variațiile de la o lună la alta. Uneori, însă, poate vrei să analizezi o altă perioadă de timp – de exemplu, să compari ultimele 7 zile cu cele 7 zile anterioare. Pentru a calcula o valoare pe baza ultimelor 7 zile, vei folosi un calcul rulant.
În acest exercițiu, vei calcula media rulantă pe 7 zile a views pentru fiecare date și o vei compara cu media pe cele 7 zile anterioare. Astfel obții o comparație clară săptămână după săptămână pentru fiecare zi în parte.
Sintaxa pentru o medie rulantă este AVG(value) OVER (PARTITION BY field ORDER BY field ROWS BETWEEN N PRECEDING AND CURRENT ROW), unde N reprezintă numărul de rânduri luate în calcul înainte de rândul curent. Reține că CURRENT ROW este și el numărat ca rând.
Acest exercițiu face parte din cursul
Raportare în SQL
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
SELECT
-- Pull in date and daily_views
____,
____ AS daily_views,
-- Calculate the rolling 7 day average
____ AS weekly_avg
FROM ____
GROUP BY ____;