"Désaccumuler" données mensuelles en une requete

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 !

1 réponse

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
     
    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

    0
    1. Galven Messages postés 29 Statut Membre 2
       
      Oops... Mars = Mars - Fevrier oui ! Autant pour moi

      Top merci !
      0