13
Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

Embed Size (px)

Citation preview

Page 1: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

Mise en œuvre du langage MDX

-3ème partie- Comment concevoir un cube avec

Mondrian…

-1-

Page 2: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

-2-

Il faut produire un fichier XML … (1)

spécifiant :• le nom du cube• les Measures• les Dimensions

-> Shared dimensions-> Multiple Hierarchies-> Parent-child hierarchies-> Snowflake schema

• les membres calculés• les fonctions définies

Page 3: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

-3-

Il faut produire un fichier XML … (2)

<Cube name="Sales"><Table name="sales_fact_1997"/>

...</Cube>

Possibilité d’utiliser <View> et <Join> pour construire des requêtes SQL plus complexes

Page 4: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

-4-

Il faut produire un fichier XML … (3)

Le cube Sales a des mesures :

<Measure name="Unit Sales” column="unit_sales"aggregator="sum" datatype="Integer" formatString="#,###"/>

<Measure name="Store Sales" column="store_sales"aggregator="sum" datatype="Numeric" formatString="#,###.00"/>

Chaque mesure a un nom, correspond à une colonne dans la table de faits et spécifie un opérateur d’agrégation tel que "sum", "count", "min", "max", "avg", and "distinct count"

Page 5: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

-5-

Il faut produire un fichier XML … (4)

Le cube Sales a des dimensions :

<Dimension name="Gender" foreignKey="customer_id"><Hierarchy hasAll="true" primaryKey="customer_id">

<Table name="customer"/><Level name="Gender" column="gender"

uniqueMembers="true"/></Hierarchy>

</Dimension>

L’attribut foreignKey dans <Dimension> est le nom d’une colonne de la table de faitsLa <Hierarchy> a un attribut clé primaire (primaryKey)Par défaut, la Hiérarchie a un élément de plus haut niveau nommé ‘All’ avec un seul membre appelé 'All {hierarchyName}'.

Page 6: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

-6-

Il faut produire un fichier XML … (5)

Avec éventuellement des hiérarchies multiples :

<Dimension name="Time" foreignKey="time_id"><Hierarchy hasAll="false" primaryKey="time_id">

<Table name="time_by_day"/><Level name="Year" column="the_year" type="Numeric"uniqueMembers="true"/><Level name="Quarter" column="quarter" type="Numeric"

uniqueMembers="false"/><Level name="Month" column="month_of_year" type="Numeric"uniqueMembers="false"/>

</Hierarchy><Hierarchy name="Time Weekly" hasAll="false" primaryKey="time_id">

<Table name="time_by_week"/><Level name="Year" column="the_year" type="Numeric"uniqueMembers="true"/><Level name="Week" column="week"uniqueMembers="false"/><Level name="Day" column="day_of_week" type="String"uniqueMembers="false"/>

</Hierarchy></Dimension>

Page 7: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

-7-

Il faut produire un fichier XML … (6)

Un exemple de schéma en étoile (La dimension Produit est constituée de 3 tables : product, product_class, product_type:

<Cube name="Sales">... <Dimension name="Product" foreignKey="product_id"> <Hierarchy hasAll="true" primaryKey="product_id" primaryKeyTable="product"> <Join leftKey="product_class_id" rightAlias="product_class" rightKey="product_class_id"> <Table name="product"/> <Join leftKey="product_type_id" rightKey="product_type_id"> <Table name="product_class"/> <Table name="product_type"/> </Join> </Join>... </Hierarchy> </Dimension></Cube>

Page 8: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

-8-

Il faut produire un fichier XML … (6)

1/ La constitution d’un tel fichier est complexe

2/ Il existe des outils facilitant l’écriture du fichier XML (vérification de la syntaxe)

3/ Il existe des générateurs (wizards) offrant une interface utilisateur pour générer automatiquement le fichier XML selon la bonne syntaxe : les outils existants sont cependant limités ...

Page 9: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

-9-

Exemple de l’outil Cube Designer

1/ Choix du nom du cube et de la base de données

Page 10: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

-10-

Exemple de l’outil Cube Designer

2/ Choix des informations utilisées

Page 11: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

-11-

Exemple de l’outil Cube Designer

3/ Définition des mesures

Page 12: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

-12-

Exemple de l’outil Cube Designer

4/ Définition des autres dimensions

Page 13: Mise en œuvre du langage MDX -3 ème partie- Comment concevoir un cube avec Mondrian… -1-

-13-

Exemple de l’outil Cube Designer

5/ Sauvegarder et exploiter le fichier XML produit