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 :

[CR XI] Probleme de groupe


Sujet :

SAP Crystal Reports

  1. #1
    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 [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.

  2. #2
    Membre émérite
    Avatar de L.nico
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 143
    Points : 2 679
    Points
    2 679
    Par défaut
    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!
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  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
    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.

  4. #4
    Membre émérite
    Avatar de L.nico
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 143
    Points : 2 679
    Points
    2 679
    Par défaut
    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....
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  5. #5
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  6. #6
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    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

  7. #7
    Membre émérite
    Avatar de L.nico
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 143
    Points : 2 679
    Points
    2 679
    Par défaut
    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 .....
    A lire avant de poster
    Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton

  8. #8
    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, 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.

  9. #9
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    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

  10. #10
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    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

Discussions similaires

  1. probleme de groupe de control inexistant
    Par levac dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/05/2007, 11h56
  2. bonjour probleme de groupe
    Par CROSS dans le forum Oracle
    Réponses: 3
    Dernier message: 04/12/2006, 22h42
  3. probleme avec group by
    Par dirtyjs dans le forum Access
    Réponses: 1
    Dernier message: 01/09/2006, 03h40
  4. probleme de group by
    Par logone dans le forum Requêtes
    Réponses: 5
    Dernier message: 24/06/2006, 10h43
  5. Probleme de GROUP BY
    Par Golork dans le forum Access
    Réponses: 2
    Dernier message: 02/06/2006, 19h46

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