|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
![]() ![]() David S.Etudiant en alternance Inscription : août 2010 Messages : 1 166 ![]() |
Bonjour à tous et à toutes,
J'aimerai savoir si je peux afficher des groupes en colonne. Ma requête me renvoie un emploie du temps avec comme champs: _ client->nom _ client ->id _ date _ sport _ exercice Un client peut être inscrit à un sport sur plusieurs dates et à chaque date il y aura des exercices différents. Voici ma requete: Code :
Code :
Code :
Code :
Merci d'avance |
||||||||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Nicolas Vives Inscription : avril 2010 Messages : 178 ![]() |
Bonjour,
Les objets qui permettent de faire des groupes sur des colonnes sont les tableaux croisés ("cross table" en anglais). Tu devras faire un cube de données ("data cube") à partir d'un data set, puis définir ton tableau croisé. Si tu ne connais pas le principe des tableaux croisés, tu peux t'amuser à les manipuler sous BIRT pour voir comment ça marche, ou alors sur Excel, ça existe aussi. En gros le principe est de pouvoir présenter des données selon des règles de regroupement en lignes et/ou en colonnes, donc ton besoin. Par contre, tu risques d'avoir beaucoup de mal à obtenir ton affichage comme tu le souhaites (avec les exercices affichés les uns en dessous des autres et à côté des autres), la règle implicite est très complexe. Tu devras probablement faire un script ou une transformation de données, ou alors des tableaux imbriqués. Bon courage. |
|
|
00
|
|
|
#3 | |
![]() ![]() David S.Etudiant en alternance Inscription : août 2010 Messages : 1 166 ![]() |
Citation:
J'avais pensé à faire un tableau croisé mais ceci me paraissais beaucoup trop compliqué pour ce que je voulais faire. De plus, je n'arrive pas à afficher un champs string dans mon tableau croisé car il demande une opération! Enfin comment faire pour afficher mes deux premières lignes dans mon tableau croisé ? |
|
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Nicolas Vives Inscription : avril 2010 Messages : 178 ![]() |
En effet, tu es obligé d'utiliser des agrégations pour afficher des données dans un tableau croisé. Et il n'y en a aucune existante qui correspond à ton besoin (les agrégations sur les string sont rares et pas très intéressantes).
Je pense que le plus simple, c'est de faire un tableau croisé avec les sports en colonne, les clients et dates en ligne (ça ne correspond pas vraiment au format que tu souhaites mais bon c'est un exemple), et dans les cellules de données, tu mets un tableau avec les exercice dans les lignes de détail, avec un filtre sur le tableau filtrant les exercices en fonction du client, de la date et du sport correspondant. Tu me diras si tu y arrives. A+ Edit : maintenant que j'y pense, si tu fais simplement comme ça, tu auras des colonnes vides (il t'affichera une colonne pour chaque sport, pour tous les utilisateurs et toutes les dates, donc tu auras probablement des colonnes inutilisées ici ou là). Donc tu devras peut-être faire une triple imbrication : un tableau simple avec un groupement sur l'utilisateur, et aussi peut-être la date ; le tableau croisé ; puis le tableau des exercices. |
|
|
00
|
|
|
#5 | |
![]() ![]() David S.Etudiant en alternance Inscription : août 2010 Messages : 1 166 ![]() |
Citation:
De plus, cette solution pourrait ne pas me convenir car je ne pourrai pas par la suite ajouter des information du client sur la même ligne que son nom et son id (par exemple son adresse, sa ville, son poids, sa taille, sa formule,...) |
|
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Nicolas Vives Inscription : avril 2010 Messages : 178 ![]() |
Voilà un exemple. C'est vrai qu'il y a du bidouillage (obligation de mettre une mesure pour pouvoir mettre un tableau), mais sinon c'est relativement simple. Tu verras la syntaxe du filtre dans le tableau.
Quant à ajouter des informations, je ne vois pas ce qui te gêne. Eventuellement tu poseras la question à ce moment là. Bon courage. |
|
|
00
|
|
|
#7 | |
![]() ![]() David S.Etudiant en alternance Inscription : août 2010 Messages : 1 166 ![]() |
Citation:
|
|
|
|
00
|
|
|
#8 |
![]() ![]() David S.Etudiant en alternance Inscription : août 2010 Messages : 1 166 ![]() |
Merci beaucoup cette tactique fonctionne!
J'ai encore un bug, il me manque des sports pour un client alors que la requête me renvoie bien des exercices! Mais je pense que ceci doit être une faute de manipulation! Donc je résous le bug! Merci encore |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com