Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Pentaho
  3. Mise en œuvre de Mondrian/JPivot
Extrait - Pentaho Mise en place d'une solution Open Source de Business Intelligence
Extraits du livre
Pentaho Mise en place d'une solution Open Source de Business Intelligence Revenir à la page d'achat du livre

Mise en œuvre de Mondrian/JPivot

Présentation de la base de données

1. La base de données AdventureWorks

Dans ce chapitre, vingt requêtes MDX vont être présentées. Les traitements font partie des opérations effectuées classiquement en matière d’analyse multidimensionnelle.

Pour chacune des requêtes, un nouveau schéma multidimensionnel sera utilisé. Ce choix pédagogique a été retenu afin que le lecteur puisse repérer dans le cube les dimensions, les hiérarchies, les mesures... qui sont réellement utilisées dans la requête. Dans un environnement plus réaliste, les requêtes utiliseraient toutes un même cube.

Les requêtes et les schémas seront commentés avec un niveau de détail important. Cela permettra au lecteur d’assimiler progressivement les concepts liés à la modélisation en Informatique Décisionnelle.

Il n’est pas prévu ici d’étudier de manière exhaustive les possibilités du langage MDX mais plutôt de fournir des bases suffisantes pour pouvoir appréhender des types de requêtes non présentés dans ce chapitre.

La base de données qui sert de support aux exemples est AdventureWorks. Cette base est déployée sous le SGBD MySQL. Le script SQL qui permet, sous phpMyAdmin, de générer les structures des tables de cette base et de les alimenter en données est disponible sur le site des Editions ENI.

AdventureWorks est une base de données très complète élaborée par Microsoft, orientée BI et utilisable sous licence Microsoft Public License (http://www.opensource.org/licenses/ms-pl.html).

La base AdventureWorks est disponible en multiples versions :

  • AdventureWorks LT (version OLTP réduite),

  • AdventureWorks (version OLTP complète),

  • AdventureWorks DW (version orientée BI).

La société Adventure Works Cycles (à laquelle la base de données AdventureWorks appartient) est un fabricant de cycles de taille mondiale. L’entreprise fabrique et vend des bicyclettes métalliques et des bicyclettes en alliage sur les marchés Nord-américain, Européen et Pacifique. Le siège qui compte 290 employés est situé à Bothell dans l’état...

Les requêtes MDX

1. Requête n°1

a. Objectif

Dans cette première requête MDX, l’affichage des mesures [CA] et [Frais de port] est demandé en colonne. Aucune dimension en ligne n’est prévue. La totalité des données de la table des faits factresellersales est prise en compte (pas de filtrage).

b. Schéma Mondrian (script mondrian_adventureworks_schema_01.xml)

Le code du fichier XML (nommé mondrian_adventureworks_schema_01.xml dans notre cas) contenant le cube multidimensionnel (ou plutôt le schéma) est donné ici dans son intégralité. Le schéma est un conteneur qui lui même peut en réalité inclure plusieurs cubes (ce qui n’est pas le cas dans la suite de ce chapitre).

Une explication détaillée de ce code est fournie. Pour les schémas suivants, seuls les nouveaux éléments sont commentés.

<?xml version="1.0"?>

<Schema name="Schema_AdventureWorks_01">

    <!-- DEFINITION DU CUBE OLAP -->
    <Cube name="Ventes indirectes">

        <!-- TABLE DES FAITS -->
        <Table name="factresellersales" />

        <!-- DEFINITION DES MESURES NON CALCULEES -->
        <Measure name="CA"            column="SalesAmount" aggregator="sum"
formatString="#,###.00" />
        <Measure name="Frais de port" column="Freight"     aggregator="sum"
formatString="#,###.00" />

    </Cube>

</Schema> 

Le lecteur peut aussi se reporter s’il le souhaite à la documentation Pentaho en ligne (http://mondrian.pentaho.com/documentation/schema.php).

c. Commentaires

Pour qu’une maintenance aisée soit réalisable sur le fichier XML, il est préférable que les instructions principales soient accompagnées de commentaires. Ceux-ci peuvent être répartis sur plusieurs lignes et sont encadrés par <!-- et --!>.

<!-- DEFINITION DU CUBE OLAP --!> 

est un exemple de mise en commentaire.

d. Contraintes de nommage

Le formalisme d’écriture du fichier XML est très exigeant. Il faut suivre quelques règles importantes pour éviter des erreurs (pas toujours faciles à interpréter à l’exécution) :

  • Respecter la casse présentée dans les exemples pour...

Les principales fonctions MDX

Au travers des vingt requêtes MDX décrites dans ce chapitre, de nombreuses possibilités du langage MDX et de la modélisation Mondrian ont été abordées.

Des ressources exhaustives existent sur Internet qui décrivent le langage MDX. Rappelons que MDX est un langage élaboré initialement dans les laboratoires de recherche de Microsoft et est devenu de facto au fil du temps le langage de référence pour la manipulation des données multidimensionnelles. Il est repris dans le projet Pentaho mais également par de nombreux acteurs du monde décisionnel et MDX est tout naturellement le langage utilisé dans le module Analysis Services de la suite BI Microsoft SQL Server.

Sans se lancer dans une étude complète de MDX (près de 150 fonctions au total), il peut être intéressant d’étudier et de mettre en œuvre les fonctions suivantes :

1. Fonctions MDX de gestion des hiérarchies

  • Hierarchy : retourne la hiérarchie contenant un membre spécifié ou un niveau.

  • Dimension : retourne la dimension contenant un membre spécifié ou un niveau ou une hiérarchie.

  • Dimensions : retourne une dimension spécifiée par un expression numérique ou texte.

2. Fonctions MDX de gestion des niveaux

  • Level : retourne le niveau d’un membre d’une hiérarchie....