33
Le reporting avec JasperReport 1

JasperReport

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: JasperReport

1

Le reporting avec JasperReport

Page 2: JasperReport

2

Problèmatique

Ensemble de besoins divers :

• Besoin d’un outil de Reporting pour les analystes afin de présenter facilement les données chiffrées de l'entreprise et leurs évolutions.

• Besoin de fusionner ces données afin de leur associer des modèles de documents déjà élaborés.

Page 3: JasperReport

3

Les objectifs de reporting :• L'extraction sélective des

informations à partir des tableurs, des bases ou des Datawarehouses.

• Le tri suivant des critères de progression judicieux.

• La mise en forme, la plus claire et la plus agréable possible.

Problèmatique

Le reporting est une technique stratégique qui aide à la prise de décision

Page 4: JasperReport

4

Solution : Logiciels de reporting

Logiciels de reporting en Open Source:

DataVision Agata Report BIRT Jasper PentahoLibrairies de génération de rapports en Open Source : JasperReports :

– JasperAssistant – iReport– OpenReports Designer

JFreeReport : – JFreeDesigner

Page 5: JasperReport

5

Plan• jasperReport : Présentation/objectifs/fonctionnalites• IReport• Historique/ nouveautés• Cycle vie d’un rapport/ parties d’un rapport• Sources de données• Expressions /paramètres/variables• Langage de scripts• Représentation des données• SubReports• Dépendance• Subreports• Business intelligence suite• Conclusion

Page 6: JasperReport

6

JasperReport : Présentaion• Librairie open source de reporting, qui permet de

fournir des données sur l'écran, à l'imprimante, ou en différents formats de fichier.

• Entièrement écrit en Java ,il peut s'utiliser dans diverses applications comme :-Une application Java-Une application Web J2EEOu comme un outil indépendant

Page 7: JasperReport

7

JasperReport : Objectifs

Son objectif principal est d'aider à créer les rapports et des documents prêts à être imprimés de manière simple et flexible.

Il permet la représentation de données sous forme textuelle, mais aussi la génération de graphiques divers (sous forme de barre, courbe, nuage de point).

Page 8: JasperReport

8

Les fonctionnalités

JasperReports offre les fonctionnalités suivantes :• Une structure de page flexible• Possibilité de présenter les données de manière

variée (textuel, graphique)• Export dans une grande variété de formats• Possibilité de fournir les données sous

différentes formes (paramètres, sources de données)

• Gestion de sous rapports

Page 9: JasperReport

9

Ireport : JasperReport Designer

• iReport est un open source report designer pour JasperReports.

• C’est un outil WYSIWYG pour tous les éléments graphiques.

• iReport assiste l’utilisateur durant toutes les phases de l'élaboration du rapport: la conception jrxml, compilation Jasper, l'exécution du rapport, et à l'exportation ou la visualisation de documents.

Page 10: JasperReport

10

Historique JasperReport

• Juin 2001:-Teodor Danciu commencé à travailler sur JasperReports

• 3 Novembre 2001: -publication de JasperReports 0.1.5

-Jaspersoft (Panscopic) fondée par Al Campa et Raj Bhargava.

• 2004:- Panscopic équipe avec Teodor Danciu, a acquis la propriété intellectuelle de JasperReports

• 21 Juillet 2005: -Version1.0

Page 11: JasperReport

11

• JasperReport 3.1.2(06 novembre 2008)-Compilateur basé sur la bibliothèque de soutient Rhino JavaScript comme la langue d'expression du rapport

• JasperReport 3.5.1(02 juin 2009)-Personnalisation de l’exportateur PDF en utilisant des éléments génériques.

• JasperReport 3.7.1(08 février 2010)-Nouveaux exportateurs: HTML, XHTML

• JasperReport 3.7.2(12 avril 2010)-Nouveau exportateur PPTX(PPT 2007)

• JasperReport 3.7.5(22 September 2010 ) -trie des ensembles de données en utilisant des variables -Le support de Custonizer pour Spidercharts

Page 12: JasperReport

12

Nouveautés

• JasperReport 3.7.6(28 Septembre 2010)-Amélioration de l’exportateur XLSX-Correction dans l’exportateur XLS

• iReport 3.7.6(01 Novembre 2010)-Mise à jour de SQL Designer-Support Complet de JasperReport 3.7.6-Ajout de support JRDataSourceProvider pour l’utiliser avec le Wizard.

Page 13: JasperReport

13

Cycle de vie d’un rapport

génère

JRXML

JASPER

JRXMLLoader JRCompiler JasperFillManager

JasperExportManagerJasperCompileManager

fillcompile

Phase de design Phase d’exécution Phase d’export

Page 14: JasperReport

14

Page 15: JasperReport

15

Apparaît à la fin de chaque colonne.N’est pas redimensionnable au moment de l'exécution

Parties du rapport :

Zone qui n’est affichée qu’une seule fois en haut de la 1eré page.Contient le nom du rapport, logo de l'entreprise et d'autres informations générales.Placée au dessous de la section « Title »

Son contenu est affiché en haut de chaque page du rapport.Partie où on définit les entête des colonnes d’un tableau, elles seront répétées sur chaque page du rapport ou le tableau est présent.Section principale du rapport :« Corps du rapport »Contient les données que l’on affiche issues de la requête SQL.Cette zone est reproduite pour chaque ligne du résultat renvoyé par la requête SQL.

Apparaît sur chaque page où il ya une tête de page.Permet d’insérer des champs concernants

le calcul total, moyen, ou quel que soit ce qu’on veut ajouter à la fin du rapport

Page 16: JasperReport

16

Autre ..

Arrière plan de la page ou on peutmettre un logo ou autre aussi des éléments dynamiques.

N'est affiché qu'une seule fois en bas de la dernière page.

Page 17: JasperReport

17

Paramètres d’entrée du rapport

Accès JDBC-Bases de données:Oracle, Mysql…. Collection de java Bean Fichier XML

Fichier CSV

Les sources de données

Page 18: JasperReport

18

Demo XML

Page 19: JasperReport

19

Pour l’affichage des données calculées, non statiques dans un rapport. On les appellent aussi des champs ou Fiels

Ce sont les résultats d’une requête SQL ou d’une autre source de donnée. Elles changent dynamiquement tant que JasperReport lit les enregistrements .

Les expressions

Syntaxe: $F{NOMDUCHAMP}

Page 20: JasperReport

20

Il existe deux types de paramètres :• les paramètres intégrés : obligatoires pour le bon fonctionnement du rapport. Comme le paramètre intégré de connexion à la base de données•les paramètres utilisateurs : facultatifs et définites par le programmeur. Exemple : on désire afficher les utilisauteurs dont le pays= « Tunisie », « Tunisie » sera entré comme paramètre, la requête SQL ressemblera à :

SELECT * FROM T_user WHERE pays=$P{PAYS_USER}

Les paramètres

Syntaxe: $P{NOMDUPARAMETRE}

Page 21: JasperReport

21

Les variables permettent de • Simplifier les expressions dans un rapport en éliminant leurs

redondances • Faire des calculs complexes à faire avec les expressions

(somme, moyenne, maximum, etc.)

Les variables sont des valeurs qui n'existent que dans le rapport.:• Les variables intégrées: sont par exemple le numéro de la

page,ou le nombre d'enregistrement par page .• Les variables utilisateurs : simples ou définies comme la

sommes des valeurs de plusieurs champs .

Les variables

Syntaxe: $V{NOMDELAVARIABLE}

Page 22: JasperReport

22

Demo Variables/expressions

Page 23: JasperReport

23

Langages de scripts

IReport supporte l’utilisation de langages de scripts :

• JavaScript: langage de scripts principalement utilisé dans les pages web interactives mais aussi coté serveur .

• Groovy :C'est un langage orienté objet pour la JVM Java qui s'inspire entre autres de Python, Java, Ruby et Smalltalk. Ce langage possède une syntaxe proche de Java et génère directement du bytecode.

Page 24: JasperReport

24

Representation des données• Représentation des données sous forme :

• Textuelle• Graphique

Ces représentations permettent d’afficher des données dynamiques, qui ne seront pas passées directement au rapport mais calculées à partir des données fournies.

Page 25: JasperReport

25

La palette de représentation graphique proposée est large, elle comporte :• les barres (2D, 3D, en relief, empilées 2D,

empilées 3D)• Les courbes• Les nuages de points• minimum/maximum, cadran, thermomètre.• Etc.

Representation des données

Page 26: JasperReport

26

Sous rapports

Tout rapport peut devenir le sous rapport d’un autre. Cette technique propose deux avantages principaux :• Simplification de la réalisation d’un rapport

en découpant la complexité .• Possibilité de réutilisation dans plusieurs

rapports différents d’un même sous rapport présentant un affichage fréquent.

Page 27: JasperReport

27

Sous rapports

un rapport enfant, a sa propre requête SQL pour extraire les enregistrements de la base de données.

Page 28: JasperReport

28

Demo Subreport

Page 29: JasperReport

29

DEPENDANCES

JasperReports s’appuie sur plusieurs librairies Java open source pour implémenter ses fonctionnalités: • iText : pour la génération de PDF• JFreeChart : pour la génération de diagrammes et

graphiques• Jakarta POI : pour la génération de documents

Microsoft Office• JAXP : pour le parsing et la transformation de XML

Page 30: JasperReport

30

FONCTIONNALITES AVANCEES

JasperReports propose également pour la réalisation de

rapports un lot de fonctions avancées telles que :• Gestion de l’internationalisation• Scriptlets• Tableaux croisés• Ancres et liens dans les documents• Gestion des marques pages dans les fichiers PDF• Gestion des formules dans les documents Excel• Gestion avancée de la mémoire pour les très gros rapports

(Virtualizer)

Page 31: JasperReport

31

Le business intelligence suite

Page 32: JasperReport

32

Conclusion

• Les avantages de JasperReports : -Des fonctionnalités avancées, notamment pour la

représentation de graphique, -l’outil iReport offre des avancés importantes en matière de productivité pour des rapports complexes.

• Les inconvénients de JasperReports: -Certaines limitations telqu’une seule datasource/connexion

par rapport.- Documentation officielle limtée, ou payante, ce qui implique

un temps de prise en main de l’outil un peu long de prime abord.

Page 33: JasperReport

33

MERCI POUR VOTRE ATTENTION