L'analyse Year-over-Year (YoY) compare une période a la même période de l'année précédente. Technique : lag(..., 12) over (order BY mois) pour récupérer la valeur d'il y a 12 mois.
Exemple (table commandes) :
WITH mensuel AS (
SELECT EXTRACT(YEAR FROM date_commande) AS année,
EXTRACT(MONTH FROM date_commande) AS mois,
SUM(montant) AS ca
FROM commandes GROUP BY année, mois
)
SELECT *, LAG(ca, 12) OVER (ORDER BY année, mois) AS ca_annee_prec
FROM mensuel;Évolution % = (ca - ca_annee_prec) / ca_annee_prec * 100.
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →