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 25/08/2006, 12h36   #1
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 64
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 64
Points : 28
Points : 28
Par défaut [CR][tableau croisé] aide pour un rapport

bonjour tout le monde,
je viens de debuter avec crystal report , je m affronte a un probleme assez delicat .
j ai besoin de faire un rapport a partir d une base de sonnée oracle.
Voila , j ai deux tables
une table operateur (code_op , libelé_op) et une table transaction(op_donneur,op_receveur) .

une transaction c est lorseque un operateur est donneur et un autre est receveur.

je dois imprimer un tableau qui pour un operateur donnée (1,op1) par exemple il m'affiche comme suivant :


_____|___|_____
op2 | 5 | 4
_____|___|_____
op3 | 1 | 0
_____|___|_____
op2 | 2 | 5


la collonne en bleu correspond au nombre de fois ou chaque operateur(op1,op2,op3) est receveur pour l'operateur op1.

la collonne en vert correspond au nombre de fois ou chaeque operateur(op1,op2,op3) est donneur pour l'operateur op1.

merci pour vos suggestions .
abdess6600 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2006, 15h11   #2
Membre du Club
 
Inscription : juillet 2006
Messages : 79
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 79
Points : 43
Points : 43
Bon j'ai trouvé quelque chose mais je me suis un peu cassé la tête avec les donneurs et receveurs.... d'un autre côté y'avais peut être plus simple...

Alors pour commencer :

Lors de la selection des tables tu importes deux fois operateur (operateur et operateur2) et une fois transaction.
Ensuite tu ne fais aucun lien entre les tables.

Tu créer un champ paramétré (je l'ai appelé chx_operateur) qui demande un entier, tu lui mets comme valeur par defaut les codes opérateurs. Tu peux rajouter les libellés en description pour plus de clarté.

Dans l'expert selection tu précise que operateur.code = {chx_operateur}

ensuite, tu créer une formule. Dans un élan d'inspiration je l'ai appelée colonne... :

syntaxe basic

Code :
1
2
3
4
5
6
7
8
9
10
11
IF (({Operateur2.Code}) = ({Transaction.op_donneur})) then
    IF (({Transaction.op_receveur}) = ({?chx_operateur})) then
        formula = "donneur"
    end IF
end IF
 
IF (({Operateur2.Code}) = ({Transaction.op_receveur})) then
    IF (({Transaction.op_donneur}) = ({?chx_operateur})) then
        formula = "receveur"
    end IF
end IF

ensuite il te reste a construire ton tableau croisé


en ligne :
operateur2.libellé
en colonne :
colonne
en détail :
un compte de operateur2.code
Pour la colonne en option de groupe il faut demander un ordre spécifié, receveur puis donneur si tu veux comme dans ton exemple, et surtout dans l'onglet 'Autres' cocher la case 'supprimer tous les autres'.

Voila je crois que c'est tout... en tout cas sur mon jeux d'essai ca marchait bien, maintenant j'espere que j'ai bien compris ton problème !

Bon courage !

edit : de rien....
Maltus 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 22h02.


 
 
 
 
Partenaires

Hébergement Web