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 :

Problème de lenteur due à une selection sur une date [CR 8.5]


Sujet :

SAP Crystal Reports

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Problème de lenteur due à une selection sur une date [CR 8.5]
    Bonjour,

    J'ai un rapport qui prend en entrée une date et je dois, si celle-ci n'est pas nulle, selectionner les enregistrements qui ont une date supérieure à la date saisie en entrée.
    Pour cela, dans ma formule de sélection j'utilise la condition suivante :

    ...
    and (If Year({?Begindate}) <> 1899 then {EVENTS.DT_SCH_BDATE} >= {?BeginDate} else 0=0)
    ...

    Je précise que les dates nulles sont égale à '30/12/1899'

    Le probleme est que cette formule ralentie considérablement l'exécution de mon rapport (de l'ordre de 1 à 10...), car crystal rappatrie tous les enregistrements sans tenir compte de la sélection par date, cette sélection étant effectué par crystal ensuite.

    Existe t-il un moyen d'optimiser cette formule ?

    J'ai testé les champs sqlexpression, mais ceux-ci n'acceptent pas les test sur des paramètres en entrée.

    Merci d'avance pour votre aide

  2. #2
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Personne n'a une idée ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    cette formule de selection, tu l'ecrit bien dans l'expert selection ?

  4. #4
    cdu
    cdu est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 196
    Points : 222
    Points
    222
    Par défaut
    Ta formule est cause de lenteur car tu places dans l'expert selection des instructions qui ne peuvent pas être interprétées parla base de données, l'état rappatrie donc l'ensemble des enregistrements de ton modéle de données et applique la sélection sur le poste local. Tu pourrais traduire ta sélection par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ( {?begindat}=date(31,12,1899)
            or {EVENTS.DT_SCH_BDATE} >= {?BeginDate})
    tu supprimes alors le if then else, et le year

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    Je crois que j'ai un peu le meme probleme.
    Dans une table de ma base de données, j'ai un champ lib_sexe qui peut etre egal a "feminin" ou "masculin".
    J'ai ajouté dans mon rapport un parametre ?Sexe que l'utilisateur peut choisir egal a "masculin", "feminin" ou "indifferent".
    J'ai donc ensuite rajouté dans l'expert selection la condition suivante sur le champ lib_sexe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ({?Sexe} = "Indifferent" or {matable.lib_sexe} = {?Sexe})
    cela peut il etre aussi la cause d'un ralentissement ?

  6. #6
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    @ Tatayoyo

    A quoi te sert ton paramètre {?sexe} ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    le parametre ?sexe, c'est un parametre que les utilisateur du rapport diovent renseigner.
    Ils doivent choisir si ils veulent voir afficher sur le rapport les individus de sexe Feminin ou Masculin, ou indifferent (masculin ou feminin).

  8. #8
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci pour votre aide, je n ai pas encore eu trop le temps de tester mais des que c'est fait je vous tiens au courant.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    Je me permet d'insister sur mon probleme, je réexplique de facon claire ce qui me pose probleme :

    J'ai dans la table de ma base de donnée des individus "masculin" et "feminin", le champ lib_sexe de cette table varie en fonction.
    Je veux que l'utilisateur du rapport puisse selectionner les individus suivant le genre, ou choisir de ne pas specifier de genre et selectionner ainsi tous les individus. Il y a donc un parametres genre sur mon rapport que l'utilisateur doit choisir egal a "masculin", "feminin" ou "indifferent"

    Si l'utilisateur a choisit indifferent, on ne fait pas de selection, on considere tous les enregistrement de la table.
    Si l'utilisateur a choisi "masculin" ou "feminin", on selectionne les enregistrement de la table en fonction.

    Dans l'expert selection, j'ai donc colé la commande suivante et je me demande si elle ne ralentit pas l'execution de mon rapport.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ({?Sexe} = "Indifferent" or {matable.lib_sexe} = {?Sexe})

    {?sexe} est le parametres que specifie l'utilisateur du rapport

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    personne ?

  11. #11
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Bonjour,

    Après maintes réfléxions, je pense que juste ça doit suffire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {matable.lib_sexe} = {?Sexe})
    En effet, si l'utilisateur ne renseigne pas {?Sexe}, l'état renverra toutes les valeurs.

    Tiens nous au courant !

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    merci de ta reponse.
    J'ai essayé, ca ne semble pas fonctionner.
    qu'est ce que tu appelles "ne pas renseigner le parametre" ?

  13. #13
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Citation Envoyé par tatayoyo
    {?sexe} est le parametres que specifie l'utilisateur du rapport
    L'utilisateur n'indique pas le sexe

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    je ne comprends pas bien.

    Ne pas renseigner le champ ?sexe, ca revient a lui donner comme valeur chaine vide non ?
    Et dans ce cas ma condition {matable.lib_sexe} = {?Sexe} ne selectionne rien du tout comme enregistrement.

    Si je créé un choix de reponse de plus pour mon parametre avec comme description "indifferent" et comme valeur chaine vide ou "*", c'est le meme probleme.

  15. #15
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Ou alors créer 2 paramètres, comme des bornes...
    {?sexedeb} et {?sexefin}

    Ainsi tu peux faire de Masculin à Masculin, de Féminin à Féminin ou de Masculin à Féminin...

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    et du coup pour l'utilisateur ca reviendrait a quoi ?
    deux champs de parametres a renseigner ?

    genre ca :

    Voulez vous considerer le public Masculin ? Oui ou Non
    Voulez vous considerer le public Feminin ? Oui ou Non

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. Réponses: 3
    Dernier message: 18/07/2011, 17h12
  3. Réponses: 2
    Dernier message: 07/12/2010, 16h47
  4. Réponses: 2
    Dernier message: 12/09/2007, 14h03
  5. selection d'une cellule sur une certaine ligne
    Par florent149 dans le forum Macros et VBA Excel
    Réponses: 33
    Dernier message: 20/07/2006, 17h37

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