OSBI.FR - Open Source Business Intelligence

Pentaho Reporting: les tableaux croisés bientôt disponibles…

Il était temps !

C’est officiel, l’annonce a été faite à l’occasion du Pentaho Community Meetup 2012 : les tableaux croisés seront disponibles dans la version 4.0 de Pentaho Report Designer (aka PRD), dont la sortie est prévue en avril 2013.

L’absence de cette fonctionnalité fait encore cruellement défaut dans le client de reporting de Pentaho, alors qu’elle existe depuis longtemps chez les concurrents (bon Pentaho a tout de même une excuse, leur Designer de rapport n’a que peu d’années d’existence).

Il y a plus de 2 ans j’expliquais ici-même comment mettre en place des Cross Tabs dans iReport (JasperSoft) et Eclipse BIRT.

Les tableaux croisés dans PRD 3.x

Encore aujourd’hui, avec PRD 3.x, il faut employer des astuces pour afficher dans le rapport des structures de tableaux croisés. Mais jamais en atteignant une efficacité complète dans la mise en place et/ou l’affichage dynamique des colonnes.

Ces astuces, les voici  (j’en oublie sûrement, vous pouvez compléter !) :

 

1. Utiliser la fonctionnalité expérimentale « Cross Tab » déjà présente dans PRD 3.x, avec une mise en place des éléments plutôt complexe dans le layout (le drag & drop est indisponible). Je vous souhaite bien du courage ! (soyons raisonnable, ça dépanne mais ça n’est pas utilisable…)

Pour plus d’infos voir quand même ce tutoriel: Crosstabs in PRD 3.5

 

2. Utiliser le langage MDX,

Ce langage propre à l’OLAP est capable nativement de renvoyer les données sous forme de tableaux croisés.

La puissance du MDX permet en outre d’accéder à de nombreux calculs  (% of, ranking, totaux, trending…) qui peuvent cependant très vite donner mal à la tête lors de leur mise en place 😉

Inconvénient: il faut avoir défini préalablement défini un cube sur vos données

Astuce: on peut utiliser le créateur de Query en ligne de Pentaho (côté web) pour rapidement concevoir, publier et exploiter un cube dans Pentaho Report Designer, via une datasource de type « Pentaho Analysis ».

Avec cette méthode, l’affichage des colonnes n’est pas dynamique, mais au moins les données sont pivotées !

Ci-dessous une série de 2 vidéos présentant cette méthode

A/ Création du cube depuis Pentaho User Console :

 

B/ Requêtage sur le cube, en MDX depuis Pentaho Report Designer :

 

3. Utiliser Kettle et la brique « Dénormalisation » pour préparer les données.

J’ai déjà présenté cette astuce dans l’article « Vos tableaux croisés dans Pentaho Reporting avec Kettle »

Ca fonctionne bien, mais ça nécessite de retoucher la structure du rapport dès qu’une colonne arrive/disparaît…

La encore c’est plutôt gênant de retoucher des rapports quand ils sont livrés en production.

 

4. Utiliser les fonctionnalités de génération dynamique de structure disponibles dans PRD

Cette dernière méthode permet de générer dynamiquement les colonnes en fonction des données (dans ce cas on ne retouche pas le design du rapport)

Lisez cet excellent post de Diethard Steiner sur le sujet : Metadata Driven ETL and Reporting

Cette fois, on arrive à faire à peu près ce qu’on veut, mais tout cela reste quand même un peu trop compliqué… 🙁

 

Les tableaux croisés dans PRD 4.0

Un assistant de création de tableau croisé est désormais disponible dans la version 4.0 beta du PRD téléchargeable sur le serveur d’intégration continue.

Regardez comment ça marche :

 

Bien sûr, il y a encore beaucoup de travail et encore pas mal d’imperfections, mais c’est déjà un très grand pas !

Thomas Morgner détaille tout ça sur son blog :

A quick introduction to crosstabs in Pentaho Reporting 4.0

 

Pour conclure, si vous êtes intéressés par le contenu des prochaines versions de Pentaho Community (Kettle 5, Pentaho BI Server 5, plugins Saiku et Ctools), je vous invite à lire attentivement le résumé des présentations du Pentaho Community Meetup 2012 à Amsterdam :

http://know-be-eye.blogspot.fr/2012/09/pcmams-pentaho-community-meeting-2012.html

Bonne lecture 🙂