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

SAP Crystal Reports Discussion :

Graphique avec calcul sur date [CR XI]


Sujet :

SAP Crystal Reports

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 78
    Points
    78
    Par défaut Graphique avec calcul sur date
    Mieux expliqué sur le post 3...

    (Bonjour

    J'ai un groupe: XXX
    Chaque ligne de ce groupe contient une date et un indicateur : 0,1,2.

    L'objectif est de calculer (ou plutôt cumuler) la durée entre la date de la ligne précédente et la date de la ligne actuel tant que l'indicateur est différent de 0.

    Ex dans la piece jointe.

    si j'ai un indicateur = 0 il faut remettre à 0 le calcul de la durée.

    J'ai donc réussi à faire le calcul de différence entre les dates:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if {#NbState}=1 then  0 else  DateDiff ("s",  {@Previous date}, {npc_statehistory.state_time});
    Mais je n'arrive pas à boucler pour cumuler ce résultat.

    J'ai tenté dans un premier temps
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    numbervar duree=0;
    while  {npc_statehistory.state}<> 0 do duree = duree + {@Diff};
    duree;
    ca me renvoie l'erreur
    "le nombre maximal autorisé d'évaluations d'une boucle a été dépassé"
    Meme si je rajoute l'option "option loop" )
    Images attachées Images attachées  

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 78
    Points
    78
    Par défaut
    J'ai en partie résolu mon pb en prenant la piste de ce post:
    http://www.developpez.net/forums/d17...port-pb-somme/

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 78
    Points
    78
    Par défaut On recommence tout!
    Bon en fait, ça ne fonctionne pas mon calcul car l'objectif était d'en faire un graphique...
    donc si quelqu'un a une idée, je suis prenante.
    L'objectif est donc de calculer le taux de disponibilité des machines par semaine, mois, et année.
    Ma table est faite de cette façon:

    object_id state_time state
    1 02/05/2009 11:03 1
    1 02/05/2009 11:33 2
    1 02/05/2009 13:50 0
    1 04/05/2009 10:42 1

    Qd le state est à 0, c'est que la machine (1) est disponible sinon si c'est égal à 1 ou 2 elle est indisponible....

    Vous avez une idée pour calculer le temps de disponibilité (pour faire un diagramme ensuite par semaine....)??

    Merci à vous!

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 78
    Points
    78
    Par défaut
    Mise à disposition de qqs données si vous voulez faire qqs tests.
    Merci encore!
    Fichiers attachés Fichiers attachés

  5. #5
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 943
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 943
    Points : 2 720
    Points
    2 720
    Par défaut
    Citation Envoyé par steinia Voir le message
    Mise à disposition de qqs données si vous voulez faire qqs tests.
    Merci encore!
    Est ce ce rapport peut déjà commencer à t'aider ??

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 78
    Points
    78
    Par défaut
    Merci Luc
    J'étais partie sur le même genre que toi, sauf que je me suis un peu plus compliquée.

    J'ai bien réussi à obtenir des valeurs, mais je n'arrive pas en faire un graphique...par semaine par ex.

  7. #7
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 78
    Points
    78
    Par défaut
    Pas d'idée pour en faire un graphique?

    Lorsque je passe par un sous-rapport, j'obtiens seulement la dernière valeur de mon sous-état.
    Ya t'il une solution pour récupérer chaque valeur du sous-état dans un etat principal?

  8. #8
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 943
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 943
    Points : 2 720
    Points
    2 720
    Par défaut
    Citation Envoyé par steinia Voir le message
    Pas d'idée pour en faire un graphique?

    Lorsque je passe par un sous-rapport, j'obtiens seulement la dernière valeur de mon sous-état.
    Ya t'il une solution pour récupérer chaque valeur du sous-état dans un etat principal?

    utiliser un(e) array dans le sous état....
    Shared Numbervar Array xxxxxx

  9. #9
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 78
    Points
    78
    Par défaut
    Bon la personne veut absolument un tableau croisé ou un graphique...
    ce que je pensais faire, c'est donc de passer les valeurs d'un sous-rapport vers un rapport principal.
    Comme l'a indiqué Luc, il faudrait passer les valeurs dans un array.
    J'ai donc fait dans mon sous-rapport :

    Une initialisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shared NumberVar INDEX:=0
    Dans la section détail:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Numbervar INDEX;
    Shared NumberVar array Tab;
    INDEX :=INDEX +1;
    Redim Preserve Tab[INDEX];
    Tab[INDEX]:= {@Taux_machine_int};
    Tab[INDEX];
    Maintenant ma question:

    Comment je récupère les valeurs de cet array dans mon rapport principal??
    J'ai tenté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    shared NumberVar array Tab;
    "";
    Mais ça me renvoie rien bien sur...
    Que dois je mettre ds cette formule?
    Et apres je pourrais bien faire un tableau croisé avec? (car sinon il faut que je parte sur une autre solution...mais laquelle )

  10. #10
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 943
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 943
    Points : 2 720
    Points
    2 720
    Par défaut
    Citation Envoyé par steinia Voir le message
    Bon la personne veut absolument un tableau croisé ou un graphique...
    ce que je pensais faire, c'est donc de passer les valeurs d'un sous-rapport vers un rapport principal.
    Comme l'a indiqué Luc, il faudrait passer les valeurs dans un array.
    J'ai donc fait dans mon sous-rapport :

    Une initialisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shared NumberVar INDEX:=0
    Dans la section détail:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Numbervar INDEX;
    Shared NumberVar array Tab;
    INDEX :=INDEX +1;
    Redim Preserve Tab[INDEX];
    Tab[INDEX]:= {@Taux_machine_int};
    Tab[INDEX];
    Maintenant ma question:

    Comment je récupère les valeurs de cet array dans mon rapport principal??
    J'ai tenté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    shared NumberVar array Tab;
    "";
    Mais ça me renvoie rien bien sur...
    Que dois je mettre ds cette formule?
    Et apres je pourrais bien faire un tableau croisé avec? (car sinon il faut que je parte sur une autre solution...mais laquelle )


    OK.. donc là, tu lui as dit gentiment : "Attention, je vais utiliser le tableau"... il ne te renvoie rien.. c'est normal.. il faut lui dire quel tiroir tu vas ouvrir.... )

    Pour connaitre la taille de ton tableau dans ton rapport principal.

    Numbervar Index := ubound(Tab)

    Maitenant, tu sais combien il y a de tiroirs dans ta commode.. )

  11. #11
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 78
    Points
    78
    Par défaut
    J'ai posté un autre message car le pb a un peu changé :

    http://www.developpez.net/forums/d76...y/#post4392187

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

Discussions similaires

  1. Imbrication de fonction avec calcul sur date
    Par blazko49 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/01/2013, 15h19
  2. Vue avec calcule de date
    Par jf-nigou dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/06/2005, 14h48
  3. [débutant] calcul sur date
    Par Regis.C dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 04/01/2005, 10h51
  4. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 15h34
  5. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 08h55

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