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 21/03/2007, 17h14   #1
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
Par défaut [CR XI] Probleme de groupe

Bonjour,
Je n'arrive pas a trouver un titre explicite pour mon probleme, et pour mieux vous le decrire, je vais utiliser des copies d'ecran.

J'ai donc deux tables de BDD , comme ceci :


Ce que je voudrais obtenir, c'est un tableau avec une ligne par année, et qui me donne sur deux colonnes le nombre d'enregistrements que contient testTable1 pour chaque annee, et le nombre d'enregistrements que contient testTable2 pour chaque année. Je voudrais obtenir ca en somme

Annee | nbTest1 | nbTest2
1983 | 1 | 2
1984 | 2 | 1
1985 | 1 | 1

Je n'arrive pas a obtenir ce resultat.
Voici ma facon de proceder :

j'importe dans crystal les deux tables et je crée un groupe sur l'annee de TestTable 1

Puis je lie les champ annee des deux tables


Puis je créé deux champs de total cumulé, cptTable1 et cptTable2, comme ceci



J'essaye d'afficher le resultat, mais ca ne donne pas le resultat prévu :



Comment m'y prendre ? j'ai essayé sans lien entre les tables, ca ne fonctionne pas non plus.
Peut etre faudrait il que j'arrive a faire deux groupes, sans les imbriquer, en les faisant evoluer en parallele.
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2007, 20h57   #2
Modérateur
 
Avatar de L.nico
 
Homme Nicolas LAURET
Chef de projet en SSII
Inscription : novembre 2003
Messages : 1 024
Détails du profil
Informations personnelles :
Nom : Homme Nicolas LAURET
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2003
Messages : 1 024
Points : 1 744
Points : 1 744
bonsoir,
tout d'abord je t'invite à consulter les règles sur les tag et à modifier le titre de ton message.

je vais tâcher de t'expliquer le résultat de ton état :
année <-> année (jointure égale)

pour l'année 1983 il y a un element dans table1 et 2 elements dans la table2 donc 1x2 = 2
pour l'année 1984 il y a deux element dans table1 et 1 elements dans la table2 donc 2x1 = 2
pour l'année 1985 il y a un élément dans chacune des 2 tables donc 1x1 = 1

d'où le 2 2 1 .....
Tu ne peux pas faire ce que tu veux faire car ta jointure démultiplie les données : il te faut faire un etat principal qui par exemple compte table1 et un sous etat situé en fin de groupe année qui lui va compter table 2 et l'afficher si tu veux avoir les 2 valeurs une à côté de l'autre.

j'espère t'avoir été utile !
bonne soirée!
__________________
Modérateur Business Intelligence / Windev

A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
L.nico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 11h15   #3
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
Citation:
Envoyé par L.nico
Tu ne peux pas faire ce que tu veux faire car ta jointure démultiplie les données : il te faut faire un etat principal qui par exemple compte table1 et un sous etat situé en fin de groupe année qui lui va compter table 2 et l'afficher si tu veux avoir les 2 valeurs une à côté de l'autre.
Merci de ta reponse.
Qu'entends tu par "sous etat" ? un rapport a part inclu dans ce pied de groupe qui prend en parametre l'annee et qui calcule le nombre pour table2 ?

Je souhaite aussi pour chaque ligne faire la somme des deux nombre et l'afficher.
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 11h27   #4
Modérateur
 
Avatar de L.nico
 
Homme Nicolas LAURET
Chef de projet en SSII
Inscription : novembre 2003
Messages : 1 024
Détails du profil
Informations personnelles :
Nom : Homme Nicolas LAURET
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2003
Messages : 1 024
Points : 1 744
Points : 1 744
Citation:
Envoyé par tatayoyo
Qu'entends tu par "sous etat" ? un rapport a part inclu dans ce pied de groupe qui prend en parametre l'annee et qui calcule le nombre pour table2 ?
Oui en gros c'est ça....
__________________
Modérateur Business Intelligence / Windev

A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
L.nico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 12h25   #5
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
hello,
je me permets d'intervenir.
J'ai tendance à penser (par expérience) que le plus simple est souvent de construire la source différemment.
Ainsi au-lieu des deux tables, faire une requête (Commande dans CR) que l'on mettra en forme.

ex :
Code :
1
2
3
4
5
6
7
8
 
SELECT annee,count(td_table), 'Nbtest1' FROM test_table1
GROUP BY annee
 
UNION 
 
SELECT annee,count(id_table),'Nbtest2' FROM test_table2
GROUP BY annee
Au sein de crystal, tu devrais pouvoir faire un tableau d'analyse croisée qui te mettra tout ça en forme comme tu le souhaites

en espérant faire avancer le shmilblick

A+
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 12h27   #6
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
Citation:
Envoyé par L.nico
ta jointure démultiplie les données
on parle de produit cartésien (multiplie les enregistrement gauche par les enregistrement droite), c'est en générale du à une source erronée
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 12h33   #7
Modérateur
 
Avatar de L.nico
 
Homme Nicolas LAURET
Chef de projet en SSII
Inscription : novembre 2003
Messages : 1 024
Détails du profil
Informations personnelles :
Nom : Homme Nicolas LAURET
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2003
Messages : 1 024
Points : 1 744
Points : 1 744
Bien vu say , c'est effectivement la meilleure solution si on peut changer la source de donnée ! j'avais completement oublié cette possibilité qui existe depuis la version 10 je crois .....
__________________
Modérateur Business Intelligence / Windev

A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
L.nico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 12h42   #8
Membre du Club
 
Inscription : juin 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 269
Points : 67
Points : 67
Merci, je vais chercher dans cette direction.

Mais je ne comprends pas qu'on ne puisse pas faire evoluer deux groupes en parrallele, qu'on soit obligé de les imbriquer.
tatayoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 14h17   #9
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
Citation:
Envoyé par L.nico
Bien vu say , c'est effectivement la meilleure solution si on peut changer la source de donnée ! j'avais completement oublié cette possibilité qui existe depuis la version 10 je crois .....
possible, en fait, j'ai démarré avec CR sur la version XI direct...donc..

et heureusement que j'ai la possibilité de changer la commande, sinon CR n'aurait servi à rien dans mon cas.
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 14h18   #10
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
Citation:
Envoyé par tatayoyo
Merci, je vais chercher dans cette direction.

Mais je ne comprends pas qu'on ne puisse pas faire evoluer deux groupes en parrallele, qu'on soit obligé de les imbriquer.
ben ce que tu veux, c'est une analyse croisée donc c'est pas exactement des groupes...

c'est une base Access ta source?
perso, j'ai repris tes tables dans une base Access et j'ai exactement le résultat que tu veux
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say 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 05h25.


 
 
 
 
Partenaires

Hébergement Web