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. Modélisation Mondrian via PSW
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

Modélisation Mondrian via PSW

Aide la modélisation par Pentaho Schema Workbench (PSW)

Le chapitre précédent a montré que la syntaxe des requêtes MDX et des directives dans les schémas Mondrian doit être suivie de manière rigoureuse. Ceci est d’autant plus vrai qu’à l’exécution les messages d’anomalies ne sont pas toujours très faciles à décrypter.

L’interface de restitution JPivot offre, avec sa barre d’icônes, des outils pour faciliter l’expression des requêtes MDX mais cela reste tout de même une assistance modeste.

Pour la modélisation des schémas, des outils existent. Les principaux sont :

  • Pentaho Schema Workbench : l’une des solutions les plus abouties.

  • Pentaho Cube Designer : également un logiciel développé par Pentaho mais désormais abandonné.

  • Free Analysis Schema Designer : contribution du projet Open Source Vanilla.

Dans le cadre de ce chapitre, le choix de présenter Pentaho Schema Workbench a été fait.

Le logiciel Pentaho Schema Workbench (PSW) est disponible en téléchargement à l’adresse http://sourceforge.net/projects/mondrian/files/.

1. Installation

Il est conseillé de sélectionner la version 3.2.0-stable dans le format correspondant à votre système d’exploitation (Windows ou Linux) et de l’entreposer...

Premier exemple de modélisation d’un schéma Mondrian via PSW

Pour faciliter la prise en main de PSW, l’exemple de la requête n°1 du chapitre précédent va être repris.

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).

1. Fenêtre initiale de PSW

La fenêtre initiale du logiciel ne présente que peu d’éléments :

  • Un système de menus classique

  • Une barre de cinq icônes

Il ne semble pas opportun de commenter ces éléments à ce niveau de l’exposé, ils seront vus progressivement en fonction des besoins rencontrés dans l’élaboration des schémas.

L’écran initial est le suivant :

12EP01.png

2. Chargement du schéma élaboré au chapitre Mise en œuvre de Mondrian/JPivot

Par l’intermédiaire de la commande de menu File - Open, ouvrons le schéma mondrian_adventureworks_schema_1.xml développé dans le cadre du chapitre précédent.

Ce schéma, rappelé ci-après, avait été développé par l’intermédiaire d’un simple éditeur de textes :...

Deuxième exemple de modélisation d’un schéma Mondrian via PSW

Pour découvrir plus complètement ce que peut faire le logiciel PSW en matière de construction de schémas Mondrian, fixons-nous un objectif plus ambitieux, l’élaboration d’un schéma qui serait la synthèse de ceux vus dans le cadre du chapitre précédent.

1. Présentation du schéma Schema_AdventureWorks_21

Dans le schéma Schema_AdventureWorks_21, nous trouverons une fois terminé les éléments suivants :

  • une dimension [Types de grossiste] avec une hiérarchie unique (non nommée) et basée sur une table unique de dimension (dimreseller)

  • une dimension [Temps] sur la base d’une modélisation en étoile (tous les niveaux de la hiérarchie étant gérés par une table de dimension unique)

  • deux mesures non calculées ([CA] et [Frais de port])

  • une mesure calculée ([Pourcentage frais de port])

Le code XML de ce schéma, s’il avait été élaboré par l’intermédiaire d’un éditeur de textes, aurait l’allure suivante :

<?xml version="1.0"?>

<Schema name="Schema_AdventureWorks_21">

    <!-- DEFINITION DES DIMENSIONS --> 
    <Dimension name="Types de grossiste">
        <Hierarchy hasAll="true" allMemberName="Tous les types de grossiste"
primaryKey="ResellerKey">
            <Table name="dimreseller" />
            <Level name="Type de grossiste" column="BusinessType"
uniqueMembers="true" />
        </Hierarchy>
    </Dimension>

    <Dimension name="Temps" type="TimeDimension">
        <Hierarchy hasAll="false" primaryKey="DateKey">
            <Table name="dimdate" />
            <Level name="Year"    column="CalendarYear"      uniqueMembers="true"
levelType="TimeYears"    type="String" />
            <Level name="Quarter" column="CalendarQuarter"
uniqueMembers="false" levelType="TimeQuarters" type="Numeric" />
            <Level name="Month"   column="MonthNumberOfYear"
uniqueMembers="false" levelType="TimeMonths"   type="Numeric" />
        </Hierarchy>
    </Dimension>...

Intégration de Mondrian dans le portail Pentaho

1. Publication du schéma Mondrian dans le portail depuis PSW

Pour que les schémas Mondrian, développés par l’intermédiaire de PSW, puissent être disponibles dans le portail Web BI de Pentaho (lui-même consultable par l’interface Pentaho User Console), il faut que ces schémas y soient déclarés.

Cette déclaration (aussi appelée publication) se réalise à partir de l’interface de PSW par la commande de menu File - Publish.

Dans un premier temps, il faut ouvrir un schéma Mondrian sous PSW par l’intermédiaire de la commande de menu File - Open. Considérons par exemple le schéma mondrian_adventureworks_schema_15.xml développé dans le cadre du paragraphe "Requête n°15" du chapitre précédent.

Ce schéma, rappelé ci-après, a été développé par l’intermédiaire d’un simple éditeur de textes :

<?xml version="1.0"?>

<Schema name="Schema_AdventureWorks_15">

    <!-- DEFINITION DES DIMENSIONS -->
    <Dimension name="Temps" type="TimeDimension">
        <Hierarchy hasAll="false" primaryKey="DateKey">
            <Table name="dimtime" />
            <Level name="Year"    column="CalendarYear"      uniqueMembers="true"
levelType="TimeYears"    type="String"                                 />
            <Level name="Quarter" column="CalendarQuarter"
uniqueMembers="false" levelType="TimeQuarters" type="Numeric"
/>
            <Level name="Month"   column="MonthNumberOfYear"
uniqueMembers="false" levelType="TimeMonths"   type="Numeric"
captionColumn="FrenchMonthName" />
        </Hierarchy>
    </Dimension>

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

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

        <!-- REFERENCEMENT DES DIMENSIONS DU SCHEMA DANS LE CUBE -->
        <!-- NB1 : name est nom de la dimension au niveau du cube -->
        <!-- NB2 : source est nom de la dimension au niveau du schema -->
        <!-- NB3 : foreignKey...

Présentation de l’interface de navigation JPivot

1. Exemple support de la présentation de JPivot

Utilisons l’exemple précédent (cf. paragraphe "Intégration de Mondrian dans le portail Pentaho" de ce chapitre) pour étudier les possibilités offertes par l’interface de navigation JPivot.

Cet outil est embarqué de manière native dans la solution Pentaho. Il s’agit d’un système d’interrogation et de présentation de données liées à un schéma Mondrian, orienté Web.

Le logiciel JRubik (disponible également librement) a globalement les mêmes possibilités que JPivot. JRubrik est un logiciel conçu en Java/Swing et n’est pas orienté Web. JRubik est téléchargeable à l’adresse http://sourceforge.net/projects/rubik/files/.

Revenons sur la vue analytique du paragraphe "Intégration de Mondrian dans le portail Pentaho" de ce chapitre :

12Ep35.png

2. Barre d’icônes

La barre d’icônes comprend 17 éléments :

12EP36.png
  • Icône n°1 : Afficher navigateur OLAP

  • Icône n°2 : Afficher éditeur MDX

  • Icône n°3 : Options de tableau

  • Icône n°4 : Afficher éléments maîtres sur l’axe du tableau

  • Icône n°5 : Ne pas grouper cellules

  • Icône n°6 : Afficher propriétés d’élément

  • Icône n°7 :...