Télécharger la présentation
1
Mise en œuvre du langage MDX
-3ème partie- Comment concevoir un cube avec Mondrian…
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
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
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"
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 faits La <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}'.
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>
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>
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 ...
9
Exemple de l’outil Cube Designer
1/ Choix du nom du cube et de la base de données
10
Exemple de l’outil Cube Designer
2/ Choix des informations utilisées
11
Exemple de l’outil Cube Designer
3/ Définition des mesures
12
Exemple de l’outil Cube Designer
4/ Définition des autres dimensions
13
Exemple de l’outil Cube Designer
5/ Sauvegarder et exploiter le fichier XML produit
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.