Utilisation de BIRT

Ce tutoriel a pour but de vous initier à BIRT. Il vous expliquera comment et pourquoi utiliser cet outil de reporting.
Bonne lecture!
7 commentaires Donner une note à l'article (5)

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Introduction

Le reporting permet de synthétiser des données sous forme de rapport. Ainsi, il est plus agréable, plus pratique, plus lisible, plus présentable d'exploiter nos données.
Des exemples simples de rapports sont nos bulletins de paye, nos factures, un calendrier de l'année, le bilan de l'année,\x{0085}
Aujourd'hui, il est facile de générer ce type de rapport à l'aide d'outil comme Jasper, Pentaho, Business Object, crystal reports, cognos,\x{0085} mais aussi BIRT, celui que j'ai choisi de vous présenter.

I-A. Pourquoi BIRT

Voici une liste de tableaux comparatifs entre BIRT 2.6.0, Jaspersoft 3.7 Community et Pentaho 3.5.

  BIRT 2.6.0 Jaspersoft 3.7 Community Pentaho 3.5
Site Internet www.birt-exchange.com www.eclipse.org/birt www.jasperforge.com reporting.pentaho.com
License Eclipse Public License GNU Lesser General Public License GNU Lesser General Public License
REPORT DESIGNER BIRT Report Designer 2.6.0 Jasper iReport 3.7 Pentaho Report Designer 3.5.0 stable
Plateforme du Designer Windows, Linux, Mac OS X Windows, Linux, Mac OS X Windows, Linux, Mac OS X
Plug-in pour Eclipse OUI NON NON
Plug-in pour NetBeans NON OUI NON
Design Paradigm Web Page Design paradigm: frames, tables, lists positionnement des pixels positionnement des pixels
Format des rapports XML (les fichiers .RPTDESIGN sont entièrement en XML) XML (les fichiers .RPTDESIGN sont entièrement en XML) Les fichiers .JRXML sont compilés en fichiers .JASPER, qui sont en Java Byte Code XML (Les fichiers .PRPT sont des ZIP contenant un fichier XML et d'autres ressources)
Compilation des rapports Non requis Requis Requis


Composant du Designer:

  BIRT 2.6.0 Jaspersoft 3.7 Community Pentaho 3.5
Sous rapport OUI OUI OUI
- Édition de rapport
- Palette
- Explorateur
- Édition des propriétés
- Aperçu du rapport
- Structure du rapport
- Expression
- Générateur de rapport
- Graphique
- Générateur de Script
- Éditeur
OUI OUI OUI
Tableaux OUI NON NON
Tableaux croisés OUI OUI \x{0093}Expérimentale\x{0094} sur Pentaho 3.5
Tri horizontal panoramique OUI Toujours défiler vers le bas, même si c'est un tableau croisé à cellules côte à côte NON
Plug-in pour NetBeans NON OUI NON
Nouvelle/ mise en page multicolonne NON OUI NON
Lien vers un autre rapport OUI OUI OUI
Graphe actionnable OUI lien, au passage de la souris Lien partiel NON
Cascading Style Sheets (CSS) OUI NON NON
Mise en forme conditionnelle OUI Partielle OUI


Source des données :

  BIRT 2.6.0 Jaspersoft 3.7 Community Pentaho 3.5
Plusieurs sources et requêtes par rapport OUI + possibilité de jointure Seulement avec des sous-requêtes.
Une seule source de données par sous-requête
Seulement avec des sous-requêtes ou des graphes.
Une seule source de données par sous-requête
Possibilité de joindre plusieurs sources de données dans le designer OUI NON NON
Les rapports peuvent re-trier, filtrer ou regrouper les données retournées par une requête. OUI Partial \x{0096} Jasper peut manipuler les données avant de construire un tableau croisé NON
Type de source de données - Database JDBC
- XML File
- Web Services
- CSV, SSV, PSV, TSV
- data source customisée
- OLAP MDX
- POJO,EJB, Hibernate, XML Stream
- Database JDBC
- XML File
- CSV File
- Microsoft Excel
- JavaBeans
- Hibernate HSQL
- Spring Hibernate EJBQL
- XMLA Server
- Mondrian OLAP
- fichier texte
- NetBeans JDBC
- POJOs
- Custom
- Fichier XML
- Database JDBC
- XML files
- Table
- OLAP MDX
- Pentaho Metadata
- Pentaho Data Integration
- OLAP MDX
- POJO, EJB, Hibernate
Requête OUI OUI OUI
Designer de requête graphique Seulement un prototype OUI (SQL Leonardo) OUI (SQL-Leonardo)
Script - JavaScript
- Java Event Handlers
- JavaScript
- Groovy
- Java
- JavaScript
- Bean Script Framework (BSF)
- Bean-Script Host (BSH)
- Single Value Query


Format de sortie :

  BIRT 2.6.0 Jaspersoft 3.7 Community Pentaho 3.5
HTML paginé OUI OUI OUI
HTML non paginé OUI NON NON
PDF OUI OUI OUI
Excel (XLS) OUI OUI OUI
XML OUI OUI OUI
Texte brut OUI OUI OUI
RTF OUI OUI OUI
Powerpoint (PPT) OUI NON NON
CSV OUI OUI OUI
Postscript OUI OUI OUI
OpenOffice (document et feuille de calcul) NON OUI NON
Microsoft Office 2007 (DOCX, XLSX) NON OUI NON
Flash (SWF) NON OUI NON
Format customisé OUI OUI OUI
Forme géométrique et ligne OUI OUI OUI
Code barre OUI OUI OUI
Graphes OUI OUI OUI
Assistant Graphe OUI 2 étapes assistées, Le reste est une boite de dialogue NON
Interaction avec les graphes OUI (lien, passage de la souris\x{0085}) OUI (seulement les liens) NON
Thèmes des graphes OUI OUI NON
Contrôle précis des graphes OUI NON NON
Type de graphe :
- 2D
- 3D
- Camembert
- Camembert multiple Bar
- Stacked Bar
- Bar XY Line
- Line XY Area
- Area XY Stacked
- Area Bar Line
- Bubble Scatter Plot Multi-Axis
OUI OUI OUI
Graphe en anneau NON NON OUI
Graphe en tube OUI NON NON
Graphe en cône OUI NON NON
Pyramide OUI NON NON
Séries de temps OUI OUI NON
Mesure / Gauge OUI OUI NON
Chute d'eau NON NON OUI
Radar OUI NON OUI
Thermomètre NON OUI NON
Gantt OUI OUI NON
Échelle NON NON OUI


Paramétrer le rapport

  BIRT 2.6.0 Jaspersoft 3.7 Community Pentaho 3.5
Paramètres statiques
Sélection des valeurs des paramètres
Sélection des valeurs des paramètres dans une liste
OUI OUI OUI
Paramètres dynamiques
Sélection de la valeur du paramètre selon une liste tirée de la base de données
OUI OUI OUI
Paramètres en cascade OUI OUI OUI
Date du calendrier pour les paramètres de type date OUI OUI OUI
Spécification de la valeur par défaut OUI OUI OUI
Liste à case à cocher OUI OUI OUI
Liste à radio bouton OUI OUI OUI


Agrégation / Calcul

  BIRT 2.6.0 Jaspersoft 3.7 Community Pentaho 3.5
agrégations communes - Moyenne
- Compte
- Compte distinct
- Premier
- Les N premiers
- Les N premiers pourcents
- Les N deniers
- Les N deniers pourcents
- Dernier
- Maximum
- Mediane
- Minimum
- Modulo
- Pourcentage
- Pourcentage de rang
- Somme des pourcentage
- Quartile
- Rang
- Compte courant
- Cumul
- Écart type
- Somme
- Variance
- Moyenne pondérée
- Moyenne
- Compte
- Compte distinct
- Somme
- Premier
- Minimum
- Maximum
- Écart type
- Variance
- Système
- Moyenne
- Compte
- Compte par page
- Compte par groupe
- Somme
- Minimum
- Maximum
- Somme
- Pourcentage de somme
- Calcul
- Somme par page
- Somme
- Compte (lors de l'exécution)
- Compte par groupe (lors de l'exécution)
- Compte distinct (lors de l'exécution)
- Moyenne (lors de l'exécution)
- Minimum (lors de l'exécution)
- Maximum (lors de l'exécution)
- Pourcentage du total (lors de l'exécution)
Définitions de fonctions / d'expressions OUI
Java, JavaScript
OUI
Java, JavaScript, ou Groovy
OUI
OpenFormula (Excel-like), Java
Définitions d'agrégations OUI OUI OUI
Chaque élément peut avoir son propre code, événement, fonction\x{0085} OUI Seulement le rapport lui-même peut avoir ce type de fonctionnalité Pas dans le designer

I-B. Installation

Pour utiliser BIRT, il faut installer le logiciel Eclipse (version Helios Release par exemple) avec l'extension de BIRT (lien ici).
De plus, il est possible d'ajouter une extension afin de pouvoir faire pivoter du texte (lien ici).

I-C. Fonctionnalités

BIRT (Business Intelligence and Reporting Tools) est un outil de reporting Open Source reposant sur Eclipse.
Cette outil est graphique c'est-à-dire que nous avons une palette permettant de sélectionner l'élément que nous voulons placer sur notre rapport (par exemple, un label, une image, un tableau).

Introduction


Ensuite, nous avons la possibilité de connecter le rapport avec une base de données afin de pouvoir afficher le résultat d'une requête SQL comme nous le souhaitons sur notre feuille de travail. Pour cela, nous devons ajouter une "Data Sources" qui permet de nous connecter à une base de données.

Puis, nous pouvons ajouter une "Data Set" qui, elle, contient la requête SQL. Cette dernière peut générer des requêtes statiques mais aussi dynamiques en ajoutant des paramètres modifiables lors de l'exécution du rapport. De plus, nous pouvons modifier le nom de certaines colonnes du résultat de la requête, en créant des alias ce qui permet de pouvoir reconnaitre les champs plus facilement lorsque nous voulons les placer sur notre rapport (ceci est indispensable lorsque nous faisons une jointure avec deux tables dont deux champs ont le même intitulé comme 'libelle' ou 'id').

Le "Data Cube" permet de créer un tableau croisé ("cross table"). Ceci est pratique lorsque nous voulons faire des statistiques sur une durée par exemple. Cette fonctionnalité possède beaucoup d'avantages, notamment l'affichage de données par colonne et le calcul du total automatique pour les statistiques.

Comme dit précédemment, nous pouvons générer des requêtes dynamiques. Pour cela nous devons créer des variables qui serviront de paramètres au rapport. Ainsi, nous devons utiliser l'option "Report parameters" qui permet de créer ces paramètres et de préciser leurs types (entier, chaine de caractère, booléen\x{0085}) et leurs valeurs par défaut.

Introduction


Il y a la possibilité d'insérer des graphiques. Sous BIRT, les graphiques sont entièrement personnalisables et dépendent d'un data set ou d'un data cube. Nous pouvons l'afficher en 2D, 2D avec profondeur ou 3D.

Les éléments de la page peuvent être personnalisés en modifiant les propriétés. Parmi ces dernières, il y a la possibilité de changer l'aspect d'un élément (couleur, taille, police, fond) mais aussi de modifier le fonctionnement (ajouter une condition d'affichage, des liens). À l'aide de l'onglet " Binding ", nous assignons une requête (" Data Set ") à un élément afin de pouvoir utiliser l'un de ses champs pour l'affichage.

BIRT permet aussi d'ajouter un haut de page et un bas de page statiques ou dynamiques modifiables avec l'onglet " Master Page ". Ici, nous pouvons insérer des textes automatiques situés dans la palette comme le numéro de page ou la date et l'heure.

Nous pouvons programmer des fonctions utilisables dans notre rapport en les stockant dans l'onglet "Script". Ces scripts peuvent être exécutés au démarrage du rapport ou à la fermeture du rapport, pour un élément précis ou pour le rapport en entier. De plus, nous pouvons avoir accès au code source XML.

I-D. Génération et exportation de rapport Birt

Tout d'abord, nous pouvons générer des rapports en temps réel à l'aide de l'onglet "Preview".

De plus, nous pouvons exporter le rapport sous différents formats. Ceci permet l'export sous format doc (document Word), HTML (page Internet), PDF, PPT (document PowerPoint), XLS (document Excel) ou Web viewer (application Web). Chacun d'entre eux ayant une interprétation différente, il faut faire attention à pouvoir internationaliser nos rapports.

Introduction

II. Data Source

La Data Source permet de se connecter à une base de données. Sans cela, le rapport et ses données resteront statiques.

Il est possible de charger n'importe quel driver SQL (mysql JDBS\x{0085}). Pour se connecter à une base de données, il suffit de donner l'URL vers celle-ci via le driver. Dans l'exemple ci-dessous, l'URL est notée comme jdbc:mysql://localhost :3306/test où jdbc:mysql évoque le type de connexion à la base de données (ici, une connexion java avec mysql), localhost représente l'adresse (ici l'adresse locale), 3306 le port et test indique le nom de la base de données. Ensuite il suffit de donner le nom d'utilisateur et le mot de passe. Il est possible avant de valider de tester la connexion via le bouton "Test Connection\x{0085}".

Il est possible de se connecter à plusieurs Data Source.

Data Source

III. Data Set

Un Data Set contient une requête SQL. Cette requête peut être dynamique (avec paramètre) ou statique.

Lorsque nous éditons notre requête via la console du Data Set, nous avons accès à toutes les tables et champs des Data Source dans la partie Query > Available Items. Ceci permet de faciliter l'écriture de nos requêtes.

Dans l'onglet Output Column, nous pouvons voir l'ensemble des colonnes que la requête renvoie et ainsi, nous pouvons modifier leurs noms en leurs donnant un alias.

L'onglet "Computed column", permet d'ajouter des colonnes calculables via d'autres colonnes.

Si nous voulons générer des requêtes dynamiques dépendant de variables passées en paramètre au rapport, il suffit d'ajouter nos paramètres existant dans la partie "Parameters". Ainsi, lors de l'écriture de la requête, si nous voulons en utiliser un, il suffit de placer un point d'interrogation à sa place et le Data Set ira le chercher automatiquement. Dans le cas où il y a plusieurs paramètres, le Data Set prend les entrées dans l'ordre. Par exemple si il y a deux points d'interrogations, le 1er correspond au 1er paramètre et le 2e au 2e paramètre.

La console contient un onglet "Filters". Celui-ci donne l'occasion de filtrer nos champs. Par exemple, si nous récupérons une date, nous pouvons l'encadrer. Ceci revient à faire une condition dans le " where " de la requête.

La partie "Property Binding" permet d'écrire notre requête en utilisant les fonctionnalités du JavaScript.

Il est possible de voir un aperçu du résultat avec l'onglet "Preview result".

Data Set

IV. Data Cube

Un Data Cube permet de calculer des statistiques en fonction des champs retournés par un Data Set. Celui-ci peut être affiché seulement avec un tableau croisé (CrossTab).

Dans la console du Data Cube, nous pouvons sélectionner notre data set dans l'onglet "Dataset".

Ensuite, lorsque nous allons dans "Group and Summaries", nous devons créer des groupes de données qui représenterons le haut et la colonne de gauche du tableau croisé. Par exemple, si nous voulons afficher une date dans la partie supérieur du tableau, alors nous pouvons créer un groupe " date " contenant, un champ pour l'année, un autre pour le mois et un autre pour le jour. Ensuite, nous devons afficher une opérations au centre du tableau. C'est la partie " Summary ". Celle-ci se réfère à un champ du Data Set et effectue une opération en fonction des groupes créés et affichés dans le tableau croisé.

La partie " Link Group " affiche notre Data Cube sous forme de modélisation.

Data Cube

V. Report Parameters

Le rapport pouvant être dynamique, il est donc possible de lui fournir des paramètres.

Pour créer un paramètre, il faut lui donner un nom, un type (chaine de caractères, entier, booléen, case à cocher\x{0085}) et lui dire s'il est obligatoire ou non.

Selon le type du paramètre, nous pouvons lui sélectionner des valeurs par défaut ou même des valeurs. En effet, si notre paramètre est une liste nous pouvons générer cette liste via un Data Set ou l'écrire manuellement.

Report Parameters


Lors de l'exécution du rapport, une fenêtre s'affiche et demande d'entrer les paramètres. Dans le cas où le paramètre n'est pas obligatoire, alors celui-ci sera affiché sous forme de deux boutons radios : le 1er avec la valeur que vous lui passez, le 2e avec la valeur "nulle".

Report Parameters

VI. Script

Script


Les scripts servent à appliquer des fonctions sur des éléments du rapport. Ils sont programmés en JavaScript. Il est possible d'exécuter des scripts à différents moments de l'exécution (avant l'ouverture, avant l'exécution, après, pendant\x{0085}).

Script

Lorsque nous voulons déclarer des fonctions utilisables dans le rapport entier, il est judicieux de les placer lors de l'initialisation de la page (clic sur la page, puis sur script, et sélection sur " initialize ").

Chaque élément peut se servir du script pour différentes raison. Par exemple, un Data Set peut modifier sa requête en affectant une chaine de caractères contenant la nouvelle requête à la variable queryText. L'avantage de ceci est d'utiliser directement des paramètres du rapport via la syntaxe params['NomDuParametre'].value. De plus, nous pouvons utiliser les fonctionnalités du JavaScript afin par exemple d'ajouter à la requête des conditions si certains paramètres sont renseignés, d'alléger l'écriture de la requête si certains endroit se répètent\x{0085}

Les fonctions déclarées dans les scripts peuvent être utilisées à chaque fois que le symbole " fx " apparait.

VII. La palette de BIRT

La palette de BIRT

Les deux premières lignes représentent un mode de sélection (par groupe d'éléments ou par élément individuel).

La palette de BIRT


Les quatre suivants servent à afficher du texte : _ Le label affiche du texte statique. _ Le Texte (Text) :

La palette de BIRT


_ Le texte dynamique (dynamic Text) :

La palette de BIRT


_ La donnée (Data)

La palette de BIRT

Cet élément est semblable à une variable utilisable qu'une seule fois. Elle est en général placée dans un tableau et représente un élément d'un data set ou d'un data cube. Ainsi, à chaque nouvelle ligne du résultat du Data Set, ce texte sera mis à jour selon la nouvelle valeur. Il est ainsi possible de modifier l'un des champs pour personnaliser son affichage via le bouton " fx ".

Ensuite, nous avons La palette de BIRT. Il permet tous simplement d'insérer une image. Celle-ci peut être fixe (une image quelconque uploadée) ou dynamique (une image récupérée via un data set ou data cube).

La palette de BIRT


Les cinq derniers représentent des containeurs. Ce sont eux qui vont permettre d'afficher le résultat d'une requête. Ainsi, nous avons :
_ une grille : cela permet de placer n'importe quels éléments dans une partie du document. Par exemple, si nous voulons placer deux éléments l'un à côté de l'autre, il suffit de créer une grille à deux colonnes ;
_ une liste : elle affiche les données d'une requête sous forme de groupe de listes. Ainsi, nous pouvons agrandir ou réduire la liste :

La palette de BIRT


_ un tableau : Cela permet d'afficher le résultat de la requête telle quelle. Il est possible de créer des groupes sur des champs et de modifier l'ordre d'affichage. Un tableau est toujours attaché à un data set ;
_ un graphique (Chart) : les graphiques sont entièrement personnalisables sous BIRT. Ils peuvent être sous n'importe quelle forme (camembert, graphe, diagramme\x{0085}). De plus, nous pouvons choisir de l'afficher en 2D, 2D profondeur ou 3D. Lors de l'ajout de cet élément une fenêtre s'ouvre. Trois onglets séparent cette dernière. Le premier sert à choisir le type du graphique, sa dimension et son format (PNG, JPG, SVG\x{0085}). Le deuxième permet de sélectionner les données soit d'un data set, soit d'un data cube. Enfin, le troisième permet de personnaliser le graphique. Nous pouvons modifier les couleurs, les libellés, la visibilité, l'échelle, la légende\x{0085}
_ un tableau croisé (Cross Tab) : il affiche les données d'un data cube. Il est souvent utilisé pour afficher des statistiques selon deux champs d'un data cube.
Il est possible de placer des tableaux dans des tableaux (qu'ils soient imbriqués ou non).

Enfin, il est possible d'ajouter une extension et dans ce cas il peut y avoir ses éléments :

La palette de BIRT

Le premier permet de remplacer des chiffres par des ronds. Si le chiffre est 2 alors il y aura 2 ronds.
Le deuxième permet tous simplement de faire pivoter le texte.

Pour finir, il reste les La palette de BIRT qui sont des éléments calculables à placer dans un tableau comme un total ou une moyenne.

VIII. Les propriétés

Les propriétés

Dans l'éditeur de propriétés, nous pouvons remarquer que nous avons des onglets horizontaux et verticaux. Chaque élément a son propre éditeur de propriétés. Dans l'exemple ci-dessus, il s'agit de l'éditeur d'un tableau.

Dans les onglets horizontaux, nous trouvons : _ les propriétés générales (properties).
* Dans la partie générale, nous pouvons modifier le nom de l'élément, sa taille (width, height), sa position (verticale et horizontale), son style (feuille de style personnalisable), et le style du texte figurant dans l'élément (sa couleur, sa police, sa taille\x{0085}).

* Ensuite, nous avons la partie border qui permet de définir les contours des cases du tableau :

Les propriétés

Sur l'image précédente, nous pouvons observer que nous pouvons modifier les bordures soit en cliquant sur les traits du carré de droite, soit en sélectionnant les boutons en bas à gauche.

* Nous pouvons définir des marges afin d'aérer notre rapport.

Les propriétés



* La partie page break permet de définir le moment où nous voulons que notre rapport change de page automatiquement :

Les propriétés

Ainsi, nous pouvons sauter de page avant, pendant ou après l'affichage de l'élément.

* Il est possible de masquer des éléments sous certaines conditions lorsque le rapport est affiché dans un format spécifique. Ceci est assez pratique si vous voulez masquer l'affichage d'un paramètre non obligatoire qui n'a pas été renseigné :

Les propriétés

ou masquer pour un format particulier non supporté par le rapport :

Les propriétés



* Il y a encore plusieurs propriétés pouvant être modifiées mais nous allons les passer et arriver directement à la dernière qui est nommée 'Advanced'. Celle-ci permet de modifier l'ensemble du style de l'élément. C'est un tableau de style modifiable à la volée :

Les propriétés



_ Après les propriétés générales, nous trouvons les Binding :

Les propriétés

Les bindings représentent des données ainsi que des éléments calculables (agrégations) pouvant être affichés dans l'élément courant. Un élément gérant les bindings ne peut sélectionner qu'un seul Data Set ou un seul élément (données d'un élément).

_ Il est possible de faire des groupements de données. Ceci est pratique lorsque nous voulons grouper des éléments d'un tableau :

Les propriétés



_ Le mapping consiste à remplacer une donnée lors d'une certaine condition par une autre donnée. Ceci est pratique lorsque nous voulons remplacer toutes les données égales à 0 par une chaine de caractères comme "donnée indisponible" par exemple.

Les propriétés



_ Le highlight consiste à donner un style particulier à un champ sous certaines conditions. Ceci est pratique dans la mesure ou nous pouvons personnaliser le style selon la donnée. Par exemple, nous voulons griser le fond d'une ligne sur deux d'un tableau :

Les propriétés



_ La partie sorting permet de trier un ensemble de lignes d'un composant listant des données :

Les propriétés



_ Les filtres permettent des créer des jointures entre les éléments de deux composants ou de filtrer les données de l'élément selon certaines conditions :

Les propriétés

IX. Master Page

Master Page


Le master page permet de définir le haut de page et le bas de page du rapport. Il est possible d'y insérer toutes formes de donnée. De plus, nous avons accès à des données spécifiques à cette partie comme le numéro de page, la date d'impression, \x{0085} Ce sont des textes automatiques :

Master Page


Le master page possède quelques propriétés déjà vues précédemment, mais elle possède aussi la propriété suivante qui consiste à pouvoir afficher le header avant ou après le footer :

Master Page

X. XML Source

Master Page

Le rapport BIRT peut être converti en fichier XML. Ainsi, nous pouvons modifier directement le rapport via le XML.

Les parties importantes du fichier XML sont :
_ la définition du rapport ainsi que sa version :

 
Sélectionnez

<report xmlns=http://www.eclipse.org/birt/2005/design version="3.2.22" id="1">


_ la définition des méthodes dans le script définit entre les balises :

 
Sélectionnez

<method name="initialize"><![CDATA[
code
]]\></method>


_ les paramètres du rapport entre les balises "parameters" avec la syntaxe et les propriétés suivantes :

 
Sélectionnez

<parameters>
        <scalar-parameter name="nom_du_parametre" id="2233">
            <property name="valueType">static</property>
            <property name="isRequired">true</property>
            <property name="dataType">string</property>
            <property name="distinct">true</property>
            <simple-property-list name="defaultValue">
                <value type="constant">valeur_par_defaut</value>
            </simple-property-list>
            <property name="paramType">simple</property>
            <property name="concealValue">false</property>
            <property name="controlType">text-box</property>
            <property name="autoSuggestThreshold">1</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
</parameters>


_ la définition des Data Source comme suit :

 
Sélectionnez

<data-sources>
        <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source" id="7">
            <list-property name="privateDriverProperties">
                <ex-property>
                    <name>contentBidiFormatStr</name>
                    <value>ILYNN</value>
                </ex-property>
                <ex-property>
                    <name>metadataBidiFormatStr</name>
                    <value>ILYNN</value>
                </ex-property>
            </list-property>
            <property name="odaDriverClass">
				com.mysql.jdbc.Driver
			</property>
			<property name="odaURL">
				jdbc:mysql://localhost:3306/developpez
			</property>
			<property name="odaUser">
				Utilisateur
			</property>
			<encrypted-property name="odaPassword" encryptionID="base64">
				Mot de passe crypté en base 64
			</encrypted-property>
		</oda-data-source>
    </data-sources>

Remarquons que nous renseignons le driver, l'URL de la base de données, l'utilisateur et le mot de passe cryptés en base 64.

_ Ensuite, nous avons la définition des Data Set dans la balise :

 
Sélectionnez

<data-sets>

Chaque Data Set est défini dans une balise :

 
Sélectionnez

<oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Data Set" id="2303">

Puis suit la liste des paramètres dans la balise :

 
Sélectionnez

<list-property name="parameters">

Chaque paramètre est défini via la syntaxe suivante :

 
Sélectionnez

<structure>
            <property name="name">nom_parametre</property>
            <property name="paramName">nom</property>
            <property name="dataType">string</property>
            <property name="position">1</property>
            <property name="isInput">true</property>
            <property name="isOutput">false</property>
</structure>

Puis la requête est écrite dans les balises :

 
Sélectionnez

<xml-property name="queryText"><![CDATA[ Requete ]]\></xml-property>

_ Puis, nous avons la définition des styles entre les balises 'style'
_ Pour terminer le header, nous définissons le master page entre les balises :

 
Sélectionnez

<page-setup>
      <simple-master-page name="Simple MasterPage" id="2">
		<page-header>definition</page-header>
		<page-footer>definition</page-footer>
	  </simple-master-page>
</page-setup>

_ Enfin, nous avons dans la balise "body" le détail de chaque élément du rapport.

XI. Conclusion

Ce tutoriel est terminé. Vous avez pu analyser tout les éléments que BIRT vous propose. Vous êtes maintenant à même dé réaliser vos rapports.
Merci d'avoir suivi ce tutoriel et à bientot!

XII. Remerciement

Je tiens à remercier ovh pour ses nombreuses idées ainsi que jacques_jean pour la relecture orthographique.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2011 developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.