AXOPEN

JasperReports – Calculer des sous-totaux

JasperReports permet de créer des variables calculées qui sont incrémentées de ligne en ligne.

Néanmoins comment faire pour remettre à zéro cette variable? Cela peut être utile si on souhaite par exemplement faire un tableau contenant des sous-totaux, comme dans l’exemple ci-dessous :

ScreenHunter_06 Feb. 03 10.02

Pour calculer les sous-totaux, on crée une variable « SousTotal » qui additionne les valeurs des champs « PrixTotal » (à supposer que ce soit le nom du champ retourné.

Le problème, c’est qu’il faut réinitialiser la variable « SousTotal » pour que le 2è sous-total affiché soit 596 € et pas 596 + 3595€.

La solution consiste donc à conditionner le calcul de la variable; ainsi on réalise une addition sur les lignes de type référence, et on réinitialise la variable sur les lignes de type catégorie, en réalisant la soustraction de la variable à elle-même :

ScreenHunter_06 Feb. 03 10.30

Dans cet exemple, on teste le type de ligne courante : si c’est une ligne contenant des références, on additionne le prix total; sinon on soustrait la variable à elle-même, ce qui la réinitialise à 0. On suppose ici que les lignes de sous-totaux retournent un champ « PrixTotal » avec la valeur 0, ce qui ne perturbe pas nos calculs.

=> En savoir plus sur les solutions BI