Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports
Crystal Reports Forum d'entraide sur Crystal Reports. Avant de poster --> FAQ Crystal, Tutoriels Crystal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/01/2007, 10h34   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 6
Points : 0
Points : 0
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
Fredifredo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 12h28   #2
Invité de passage
 
Inscription : janvier 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 6
Points : 0
Points : 0
Personne n'a une idée ?
Fredifredo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 18h13   #3
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
cette formule de selection, tu l'ecrit bien dans l'expert selection ?
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 00h54   #4
cdu
Membre actif
 
Inscription : août 2004
Messages : 196
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 196
Points : 179
Points : 179
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 :
1
2
 ( {?begindat}=date(31,12,1899)
        OR {EVENTS.DT_SCH_BDATE} >= {?BeginDate})
tu supprimes alors le if then else, et le year
cdu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 11h11   #5
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
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 :
1
2
 
({?Sexe} = "Indifferent" OR {matable.lib_sexe} = {?Sexe})
cela peut il etre aussi la cause d'un ralentissement ?
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 14h49   #6
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
@ Tatayoyo

A quoi te sert ton paramètre {?sexe} ?
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 11h53   #7
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
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).
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2007, 09h59   #8
Invité de passage
 
Inscription : janvier 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 6
Points : 0
Points : 0
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.
Fredifredo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 13h11   #9
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
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 :
1
2
 
({?Sexe} = "Indifferent" OR {matable.lib_sexe} = {?Sexe})

{?sexe} est le parametres que specifie l'utilisateur du rapport
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 11h21   #10
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
personne ?
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 11h26   #11
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
Bonjour,

Après maintes réfléxions, je pense que juste ça doit suffire :
Code :
{matable.lib_sexe} = {?Sexe})
En effet, si l'utilisateur ne renseigne pas {?Sexe}, l'état renverra toutes les valeurs.

Tiens nous au courant !
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 12h36   #12
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
merci de ta reponse.
J'ai essayé, ca ne semble pas fonctionner.
qu'est ce que tu appelles "ne pas renseigner le parametre" ?
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 13h36   #13
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
Citation:
Envoyé par tatayoyo
{?sexe} est le parametres que specifie l'utilisateur du rapport
L'utilisateur n'indique pas le sexe
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 15h53   #14
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
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.
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 16h03   #15
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
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...
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 17h10   #16
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
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
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h10.


 
 
 
 
Partenaires

Hébergement Web