"Désaccumuler" données mensuelles en une requete
Galven
Messages postés
29
Statut
Membre
-
Galven Messages postés 29 Statut Membre -
Galven Messages postés 29 Statut Membre -
Bonjour,
J'ai une table constituée de deux champs:
AAAAMM: date format AAAAMM
TOTAL
Cette table contient un total accumulé pour chaque mois. Mars correspond au total de Janvier à fin Mars.
Je veux une requete me donnant le total non accumulé par mois: Mars serait alors Mars - (Janvier + Février).
Ceci est un exemple simplifié. La table en question contient 5 années et une cinquantaine d'agrégats financiers.
Une solution svp ? Merci !
J'ai une table constituée de deux champs:
AAAAMM: date format AAAAMM
TOTAL
Cette table contient un total accumulé pour chaque mois. Mars correspond au total de Janvier à fin Mars.
Je veux une requete me donnant le total non accumulé par mois: Mars serait alors Mars - (Janvier + Février).
Ceci est un exemple simplifié. La table en question contient 5 années et une cinquantaine d'agrégats financiers.
Une solution svp ? Merci !
1 réponse
-
Bonjour,
Déjà, vu ce que tu nous dis,
Mars serait alors Mars - (Janvier + Février). ...
Mars serait alors Mars - Février (puisque cumulé, février contient déjà Janvier + Février).
Un truc du genre peut-être (pas testé)SELECT AAAAMM TOTAL - TOTAL OVER (ORDER BY AAAAMM ROWS UNBOUNDED PRECEDING) AS TOTAL_DECUMULE FROM dbo.foo ORDER BY AAAAMM;
Mais d'autres méthodes existent, via des INNER JOIN ou l'utilisation de WITH
https://www.codeproject.com/Articles/300785/Calculating-simple-running-totals-in-SQL-Server