Tutoriel informatique décisionnelle avec BIRT

Portrait de lewinp

Introduction

L'informatique décisionnelle désigne les moyens, outils et méthodes pour fournir une aide à la décision.

Voici un tutoriel pour se lancer dans l'informatique décisionnelle avec une génération de rapports par BIRT.

Cas étudié

Ce tutoriel décrit comment un étudiant d'ESIEE Paris peut faire usage d'informatique décisionnelle pour aider à la décision d'un lieu pour l'organisation d'un événement lors de la semaine d’élection du BDE ESIEE Paris.

Les outils

Dans ce tutoriel, nous allons utiliser BIRT Report Designer, l'outil graphique basé sur eclipse pour concevoir les rapports.
Nous allons aussi utiliser BIRT Report Engine, qui fournit un script pour générer les rapports.

Téléchargement des outils

Les outils à télécharger se trouvent sur cette page :
http://download.eclipse.org/birt/downloads/

Téléchargez :

  • la All-in-One ou le RCP Designer, l'outil pour créer les rapports BIRT (fichiers .rptdesign) ;
  • le Report Engine pour générer les fichiers PDF sans l'outil graphique ;
  • le connecteur JDBC MySQL http://dev.mysql.com/downloads/connector/j/ (ou équivalent pour votre base de données)

Lancement et configuration du projet

Le lancement d'eclipse produit cet écran :

BIRT lancement

Ouvrez la perspective Report Design :
Window > Open Perspective > Report Design

Eclipse Workbench vide

Créez un nouveau Report Project :

New Project Wizard

New Report Project

Vous devez voir ça :

Workbench après ajout d'un report project

Il faut créer un rapport vide (un fichier rptdesign) File > New... > Report

Creation rapport

Creation rapport vide

Ajout de la data source et des data sets

Maintenant que le rapport est créé, on peut explorer la data avec la vue Data Explorer (vide évidemment).

Vue data explorer vide

Ajout de la data source

Pour pouvoir récupérer des données d'une base de données, on doit ajouter une data source (choisir JDBC Data Source pour MySQL), dans mon cas, je nomme la Data Source "Dimension" :

Fenetre ajout Data Source Type BIRT

La page suivante me demande les informations JDBC.
Fenetre ajout Data Source vide BIRT

On ne réussira pas à se connecter à MySQL sans le connecteur renseigné, on va donc configurer le connecteur en allant sur manage connectors.

Fenetre gestion connecteurs JDBC

Le connecteur est configuré, je peux remplir tous les champs et tester la connexion :

Création datasource rempli

On doit pouvoir voir la nouvelle datasource dans le data explorer :

Nouvelle Data Source

Ajout des data sets

On peut ajouter des data sets depuis le data explorer :

BIRT ajout d'un Data Set

Il faut préciser la requête SQL pour chaque DataSet :
BIRT ajout d'un Data Set - query

Dans mon cas, je vais ajouter deux data sets avec les requêtes suivantes.

Récupération des noms des salles des épis 2 et 5.

SELECT group_concat(r.resourceName ORDER BY r.resourceName ASC) AS rooms_list
FROM resources r
WHERE r.resourceCategory = 'classroom'
	AND r.resourceIsGroup=0
	AND (
		r.resourceName LIKE "2_0%"
		OR r.resourceName LIKE "5_0%"
	)

Récupération de tous les événements dans les salles de l'épi 2 pour la semaine 33 (semaine d’élection)

SELECT
	a.activityName,
	r.resourceName,
	e.eventDay,
	e.eventSlot,
	e.eventDuration
FROM 
	events e
LEFT JOIN events_resources er
	ON er.eventId = e.eventId
LEFT JOIN resources r
	ON r.resourceId = er.resourceId
LEFT JOIN activities a
	ON a.activityId = e.eventActivityId
WHERE
	r.resourceCategory='classroom'
	AND r.resourceIsGroup=0
	AND r.resourceName LIKE "2_0%"
AND e.eventWeek = 33
ORDER BY e.eventDay ASC, e.eventSlot ASC

Création du rapport

Dans mon cas, après la configuration des data sets, j'ajoute un chart Gantt pour chaque jour. Je ne détaille pas cette partie, à vous de concevoir un rapport pertinent pour vos besoins.

BIRT rapport occupation

Génération du rapport

Pour générer le rapport avec le Report Engine (sans le faire depuis le Report Designer qui demande une configuration pénible), consultez la cheatsheet :
CheatSheet BIRT Report Engine du Club*Nix