IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

[Graphiques] Cumul dans un graphique


Sujet :

IHM

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut [Graphiques] Cumul dans un graphique
    En fait je reviens pour une question xD

    Avec ce code, que j'ai tiré d'un thread qui se rapportait à ce sujet, je l'ai adapté, ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT a.année, 
    [a].[month(tblDéclaration.date_circonstance)], 
    Count(*), 
    Sum(Count(*)) AS cumul
    FROM tblDéclaration AS a
     INNER JOIN tblDéclaration AS b 
    ON a.année = b.année
    WHERE b.month(tblDéclaration,date_circonstance)<=[a].[month(tblDéclaration.date_circonstance)]
    GROUP BY a.année, [a].[month(tblDéclaration.date_circonstance)];
    Ca me dit des "mise entre crochet non valide" pour A.month, mais si je les enléve, ça me dit : Fonction a.month non défini dans l'expression.

    Merci pour l'aide !

    PS : je dois faire un cumul sur un Count(*), le mois je dois faire un month(date_circonstance), pour l'année j'ai un champs année

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour


    Peux-tu nous dire ce que tu as comme table ?
    Et les noms de tes champs.

    Starec

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Table : tblDéclaration
    Et les champs sont marqués dans le post au dessus xD :

    Citation Envoyé par Herman
    PS : je dois faire un cumul sur un Count(*), le mois je dois faire un month(date_circonstance), pour l'année j'ai un champs année
    Donc les champs :

    année, date_circonstance, et le cumul sur un count(*)



    J'ai testé un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT tblDéclaration.année, Month([date_circonstance]) , Count(*), DSum("Count(*)","tblDéclaration","Month([date_circonstance])<=" & Month([date_circonstance]) & " and année =" & [année]) AS Expr1
    FROM tblDéclaration
    GROUP BY tblDéclaration.année, Month([date_circonstance]);
    Ca me met des #erreur dans la colonne du cumul :/

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    As-tu essayé de faire ta requête avec l'assistant? C'est ce qui je fais quand je n'y arrive pas.

    Starec

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    L'assitant ne sait pas faire les cumuls, ou en tout cas il n'y a aucune option pour le faire.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Clique sur E (signe somme en haut), il te rajoutera un ligne, et là tu peux faire des sommes

    Starec

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Oui je sais bien ^^

    Mais la somme ne signifie pas cumul pour Access, donc il va me faire une seule ligne par mois (puisque je fait un regroupement par mois), avec la somme, ce qui en définitive ne correspondra qu'aux données du mois, et non pas le cumul ...

  8. #8
    Invité
    Invité(e)
    Par défaut
    Re

    Je vois ce que tu veux j'ai un bout de code la dessus, mais at home, j'essaierai de le mettre demain.

    J'espère que quelqu'un pourra te répondre d'ici là.

    Starec

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    ok merci, les autres gens qui lisent, aidez moi !!!!! xD

  10. #10
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 912
    Points : 4 811
    Points
    4 811
    Par défaut
    SELECT a.année,
    [a].[month(tblDéclaration.date_circonstance)], ...
    Ce serait déjà mieux avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT a.année, 
    month(a.[date_circonstance]), ...
    Bonne journée

  11. #11
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    ah oui en effet, ça marche un peu mieux avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT a.année, Month(a.[date_circonstance]) as Mois, Count(*) as Expr2
    FROM tblDéclaration AS a INNER JOIN tblDéclaration AS b ON a.année = b.année
    WHERE (((Month([b].[date_circonstance]))<=Month([a].[date_circonstance])))
    GROUP BY a.année, Month(a.[date_circonstance]);
    J'obtiens ça au final :

    Année Mois Expr2
    2005 1 121
    2005 2 276
    2005 3 468
    2005 4 576
    2005 5 448
    2005 6 512
    2005 7 912
    2005 8 581
    2005 9 1034
    2005 10 1155
    2005 11 1800
    2005 12 1161
    2006 1 441
    2006 2 270
    2006 3 864
    2006 4 1024
    2006 5 1001
    2006 6 1488
    2006 7 1144
    2006 8 545
    2006 9 1860
    2006 10 1056
    2006 11 1420
    2006 12 1043
    2007 1 100
    2007 2 231
    2007 3 352
    Ce qui est pas tout à fait juste, je sais pas trop ce qui s'additionne d'ailleurs :/
    Le 121 du Janvier 2005 ne correspond même pas à tous les enregistrement de 2005 puisqu'il y en a 129 en tout :/

  12. #12
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 912
    Points : 4 811
    Points
    4 811
    Par défaut
    SELECT a.année, Month(a.[date_circonstance]) as Mois, ...
    ta structure de la table ne semble pas des plus heureuses ...

    Pourquoi un champ indépendant pour l'année ? : utiliser plutôt Year(a.[date_circonstance]) as Annee au lieu de a.année ...

  13. #13
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Ce qui, au final, renvoie exactement la même chose. Peu importe que ce soit le champs année ou Year(date_circonstance), ça renvoie l'année dans tout les cas, ce champs année a été crée pour faire un traitement dans un formulaire ...

    Qqun aurait autre chose à proposer ? :/

  14. #14
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Starec tu aurais pas le morceau de code dont tu m'avais parlé ? xD

    J'ai bien trouvé un code de ce style :

    random17/01/2007, 08h50
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT a.affaire,
    a.of, a.numopé, a.delai, 
    Sum(b.delai) AS cumul
    FROM matable AS a, matable AS b
    WHERE b.affaire=[a].[affaire] 
    AND b.of<=[a].[of] 
    AND b.numopé<=[a].[numopé]
    GROUP BY a.affaire, a.of, a.numopé, a.delai
    ORDER BY a.affaire, a.of, a.numopé;
    Mais comme je dois faire un Sum(Count(*)), ça ne peut pas marcher :/

  15. #15
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    J'ai ENFIN trouvé la solution xD

    En fait, comme pour un même mois il pouvait y avoir plein d'enregistrements, il me les additionnait d'abord, puis il additionnait tout ceux des mois d'après.

    Je suis donc passé par une requpete intermédiaire (req_cumul_inter) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Year(date_circonstance) AS Annee, Month(date_circonstance) AS Mois, Count(*) AS Nombre
    FROM tblDéclaration
    GROUP BY Year(date_circonstance), Month(date_circonstance);
    Et mon résultat final je l'obtiens avec cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT a.Annee, a.Mois, Sum(b.Nombre) as Cumul
    FROM req_cumul_inter AS a, req_cumul_inter AS b
    WHERE b.Annee = a.Annee AND b.Mois<=a.Mois
    GROUP BY a.Annee, a.Mois;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/09/2013, 13h58
  2. Réponses: 4
    Dernier message: 27/05/2013, 16h02
  3. [CR 2008] Cumul dans un graphique
    Par Crystal2008 dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 12/12/2011, 10h37
  4. Réponses: 2
    Dernier message: 29/05/2009, 08h47
  5. Comment insérer une image dans un graphique?
    Par Leclair2000 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/05/2005, 09h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo