|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : juin 2009 Messages : 26 ![]() |
Bonjour,
J'ai cherché sur ce forum et sur la forge Jasper sans succès une méthode pour convertir un nombre en heures + minutes (ex : 73 devient 1h13). De ma requête initiale je récupère les valeurs suivantes : Grp temps A 1 A 17 A 68 B 51 B 34 Je groupe par Grp dans mon rapport et obtient donc A 95 B 85 Je voudrais traduire 95 en 1 heure et 35 minutes et 85 en 1 heure et 25 minutes. J'ai créé la variable temps_HMin dont le code est le suivant : Code :
(int)Math.ceil($F{temps} / 60) + 'heures, '+ (int)$F{temps} % 60 + ' minutes' Calculation = Sum Reset Type = Group Reset Group = Grp Increment Type = None Le problème, c'est que mon expression n'est calculé que sur le dernier enregistrement du groupe. ![]() Je ne sais pas si c'est dû mon calcul, ou au moment où est évaluée l'expression. Quelqu'un a-t-il une idée? |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2009 Messages : 37 ![]() |
Bonjour,
Il faudrait utiliser une variable dans le pied de groupe plutôt que le champ $F{temps} Expression $F{temps} Calculation = Sum Reset Type = Group Reset Group = Grp Increment Type = None |
|
|
10
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : juin 2009 Messages : 26 ![]() |
En effet!
Ne pas faire l'agrégation et la transformation du field, mais faire le calcul (somme du field), puis formater avec l'expression : Code :
(int)Math.floor($V{temps_sum} / 60) + 'h '+ (int)$V{temps_sum} % 60 + ' mn' |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com