|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : octobre 2005 Messages : 259 ![]() |
Bonjour,
Je suis en train de réaliser un rapport Jasper pour obtenir un classement de personnes par rapport à une certaine quantité. J'ai défini un Groupe de rapport avec le nom du client pour pouvoir calculer le total par client (dans une variable) Je récupère dans la base des infos de ce genre : Nom Quantité --------------------------- fred 10 fred 5 jean 5 jean 3 claude 12 ce qui me donne: fred 15 jean 8 claude 12 Maintenant, j'aimerais pouvoir afficher les clients en commençant par celui qui a la plus grande quantité pour finir avec celui qui a la plus petite pour obtenir : fred 15 claude 12 jean 8 Mais je n'ai rien trouvé qui permette de réaliser cela. Qqun a-t-il une idée pour résoudre ce problème ? Merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Développeur informatique Inscription : octobre 2005 Messages : 162 ![]() |
Bonjour,
tu ne peux pas faire un group by et un order by directement dans ta requête SQL ? Ce serait plus simple, non ? |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : octobre 2005 Messages : 259 ![]() |
Le problème c'est que je le fait avec quoi le group by ou order by ?
Si je le fais par Nom, rien ne me dis que ce sera trié par quantité totale (car pour chaque client, j'additionne toutes les quantités que je trouve) donc c'est impossible de savoir quel client a la plus grande quantité totale avant de l'avoir calculée => je ne peux donc pas lui dire dans la requete !! C'est la meme chose pour la quantité, ca sera groupé ou ordré pour chaque quantité individuellement, mais moi j'ai besoin que ce soit effectif pour la quantité totale. Merci quand meme..... |
|
|
00
|
|
|
#4 | ||
|
Membre confirmé
![]() Développeur informatique Inscription : octobre 2005 Messages : 162 ![]() |
Si tu as les champs nom et total dans ta table, tu peux faire :
Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : octobre 2005 Messages : 259 ![]() |
Ha oui je le voyais pas comme ça, mais il y a un autre problème :
Je n'utilise pas SQL, mais des beans, c'est un programme JAVA qui m'envoie les données et je n'ai pas un accès direct avec la requête. Il me faut absolument une solution depuis le rapport et rien depuis la requête. J'aurais du préciser cela dès le début..... |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Développeur informatique Inscription : octobre 2005 Messages : 162 ![]() |
Si tu crées un groupe dans ton formulaire (groupe basé sur ton client) et une variable chargée de faire les totaux.
Pour ta variable tu lui mets "Somme" en type de calcul, pour Réinitialiser le type "Groupe" et tu choisis ton groupe par client. Dans Expression de Variable, tu choisis ton champs à sommer et dans Expression de valeur initiale "new Double(0)" si ton type est Double. Ensuite tu insères un textField (type Double et Temps d'évaluation Groupe) avec comme contenu ta variable et le tour est joué. |
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : octobre 2005 Messages : 259 ![]() |
Ok, ce que tu me dis, va me donner la somme totale pour chaque client, ceci je l'ai déjà.
Ce que je veux c'est que les clients soient affichés de la plus grande valeur a la plus petite. Là ce que j'ai c'est : 1. Fred 15 (5+5+3) 2. Jean 8 (5+3) 3. Claude 13 (13) Ce que je veux c'est : 1. Fred 15 2. Claude 13 3. Jean 8 Est-ce que je suis assez clair sur ce que je veux? Sinon j'essaie de mettre une image.... Dans tous les cas, merci pour ton aide |
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() Développeur informatique Inscription : octobre 2005 Messages : 162 ![]() |
Ce que tu veux est très clair.
J'étais confronté au même problème et je l'avais contourné en groupant et triant dans ma requête. Tu peux effectivement faire un tri dans Trier les options (quand tu choisis Consultation de Rapports), mais dans ce cas il faudrait que tes données arrivent aggrégées par client (car on ne peut pas trier sur une variable). Voilà. Désolé de ne pas pouvoir plus t'aider. Pour ton info, 5+5+3 = 13 |
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : octobre 2005 Messages : 259 ![]() |
lol,
ok encore merci, si jamais qqun a une idée, je suis bien sûr preneur |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com