JasperReport
-
Upload
slimen-belhaj-ali -
Category
Technology
-
view
3.731 -
download
7
description
Transcript of JasperReport
1
Le reporting avec 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.
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
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
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
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
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).
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
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.
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
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
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.
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
14
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
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.
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
18
Demo XML
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}
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}
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}
22
Demo Variables/expressions
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.
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.
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
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.
27
Sous rapports
un rapport enfant, a sa propre requête SQL pour extraire les enregistrements de la base de données.
28
Demo Subreport
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
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)
31
Le business intelligence suite
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.
33
MERCI POUR VOTRE ATTENTION