La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Mise en œuvre du langage MDX - 1 ère partie- Présentation de lexemple et des outils utilisés -1-

Présentations similaires


Présentation au sujet: "Mise en œuvre du langage MDX - 1 ère partie- Présentation de lexemple et des outils utilisés -1-"— Transcription de la présentation:

1 Mise en œuvre du langage MDX - 1 ère partie- Présentation de lexemple et des outils utilisés -1-

2 Le cube Sales (1) -2-

3 Le cube Sales (2) -3-

4 Le cube Sales (3) -4-

5 JRubik -5- Une application Java intégrant le moteur OLAP Mondrian Démonstration sur un exemple : Select {[Measures].[Unit Sales]} ON COLUMNS, {[Store].[All Stores]} ON ROWS from [Sales]

6 Mondrian Web Application -6- Une application Web (Servlet Tomcat) intégrant le moteur OLAP Mondrian Démonstration sur un exemple : Select {[Measures].[Unit Sales]} ON COLUMNS, {[Store].[All Stores]} ON ROWS from [Sales]

7 Mise en œuvre du langage MDX -2 ème partie- Les bases du langage de requête MDX -7-

8 -8- Le langage MDX SELECT ON COLUMNS, ON ROWS FROM WHERE select {[Store]} ON COLUMNS, {[Measures]} ON ROWS from [HR] Syntaxe de base : Exemple:

9 Le Langage MDX : les constructeurs Un membre Une valeur possible de dimension [1997] [Canada] [Drink] [All Stores] Un chemin dans la hiérarchie dune dimension [Time].[1997] [Product].[Food] [Product].[Food].[Baked Goods] [Product].[All Products].[Food].[Baked Goods] Un tuple: Une liste de membres ([Time].[1997], [Product].[Food]) Un set : Un ensemble ordonné de tuples { ([Measures].[Unit Sales], [Product].[All Products].[Food].[Baked Goods]), ([Measures].[Store Sales], [Product].[All Products].[Food].[Baked Goods]) } Une spécification daxe cest un set -9-

10 Exemple de requêtes select {[1997]} ON COLUMNS from [Sales] select {[Time].[1997]} ON COLUMNS from [Sales] select {([Time].[1997], [Product].[Food])} ON COLUMNS from [Sales] -10-

11 Exemples de requêtes MDX select {([Product].[All Products].[Food].[Baked Goods], [Time].[1997])} ON COLUMNS from [Sales] -11- select {([Measures].[Unit Sales], [Product].[All Products].[Food].[Baked Goods]), ([Measures].[Store Sales], [Product].[All Products].[Food].[Baked Goods])} ON COLUMNS from [Sales]

12 select { ([Measures].[Unit Sales], [Product].[Food]), ([Measures].[Unit Sales], [Product].[Drink]) } on COLUMNS, { ([Time].[1997]), ([Time].[1998]) } on ROWS from [Sales] -12- Exemples de requêtes MDX

13 select { ([Measures].[Unit Sales], [Product].[Food]), ([Measures].[Unit Sales], [Product].[Drink]) } on columns, {([Time].[1997]), ([Time].[1998])} on rows from [Sales] where { ([Gender].[M]) } -13- Utilisation dun prédicat de slice [Measures].[Unit Sales] [Product].[Food][Product].[Drink] Exemples de requêtes MDX

14 -14- Le langage MDX Opérateur. Pour accéder à un membre dune certaine dimension [Time].[1997] member 1997 of the level Year Pour accéder à un certain niveau dune dimension [Time].[Year] Year Level Pour accéder à une fonction [Time].[Year].Members operation Members

15 -15- A propos des tuples : Ils doivent être cohérents : -Chaque tuple spécifié doit inclure des membres appartenant à une même dimension -Les tuples spécifiés peuvent correspondre à différents niveaux de hiérarchie {([Time].[1997], [Store].[Canada]), ([Time].[1998], [Store].[USA]), ([Time].[1998].[9-1998], [Store].[Canada])} Le langage MDX

16 -16- CROSSJOIN : Un axe peut être défini comme le produit cartésien de différents ensembles select { CrossJoin ( {([Time].[1997].[Q1]), ([Time].[1997].[Q2])}, {([Measures].[Unit Sales]), ([Measures].[Store Sales])} ) } on columns, { ([Product].[Drink].Children) } on rows from [Sales] Le langage MDX

17 -17- Les opérations : x.Members = ensemble des membres dun niveau ou dune dimension donnée x.Children = ensemble des enfants du membre x DESCENDANTS (x, l) = ensemble des descendants dun membre x au niveau l Le langage MDX

18 -18- Exemple pour lopérateur DESCENDANTS SELECT {([Measures].[Store Sales])} On COLUMNS, DESCENDANTS ([Time].[1998], [Quarter]) ON ROWS FROM [SALES] Le langage MDX

19 -19- A propos du slicer WHERE permet de sélectionner une tranche du cube On spécifie la tranche en utilisant des membres qui ne font pas partie des dimensions utilisées au niveau des axes ON ROWS et ON COLUMNS SELECT {([Measures].[Unit Sales])} ON COLUMNS, {([Time].[Year].Members)} ON ROWS FROM SALES WHERE ([Store].[USA].[WA]) -> tranche de létat de WA Il nest pas autorisé de préciser une tranche avec plus dun membre dune même dimension Le langage MDX

20 -20- Membres calculés Ils sont utilisés pour calculer des mesures et faire des comparaisons with member [Measures].[Store Profit] as '([Measures].[Store Sales] - [Measures].[Store Cost])' select {[Measures].[Store Profit]} ON COLUMNS, {[Time].[Year].Members} ON ROWS from [Sales] where [Store].[All Stores].[USA].[WA] Le langage MDX

21 -21- Fonctions de calcul SUM ( set, expression ) MAX ( set, expression ) AVG( set, expression ) MIN( set, expression ) AVG([Time].Members, [Measures].[Store Profit]) Le langage MDX

22 -22- Un exemple de calcul with member [Store].[USA+Canada] as 'Sum({[Store].[All Stores].[USA], [Store].[All Stores].[Canada]}, [Measures].[Store Sales])' select {[Store].[All Stores].[USA], [Store].[All Stores].[Canada], [Store].[USA+Canada]} ON COLUMNS, Descendants([Time].[1997], [Time].[Quarter]) ON ROWS from [Sales] Le langage MDX

23 Mise en œuvre du langage MDX -3 ème partie- A vous de jouer … -23-


Télécharger ppt "Mise en œuvre du langage MDX - 1 ère partie- Présentation de lexemple et des outils utilisés -1-"

Présentations similaires


Annonces Google