Guide sur le langage MDX pour OLAP
Guide sur le langage MDX pour OLAP
1. Introduction a MDX
(Multi-Dimensional eXtensions) Origine de MDX
pour l’OLAP MDX versus SQL
Rappel des catégories d’opérations OLAP
2. Syntaxe de base de MDX
(7.2) Structure générale d’une requête MDX
Spécification de Membres, Tuples et Sets dans MDX
Spécification d’un axe dans MDX (simple et en énumération)
Bernard ESPINASSE Spécification de filtres (Slice) dans MDX : clause WHERE
Professeur à Aix-Marseille Université 3. Membres et tuples dans MDX
(AMU) Ecole Polytechnique Universitaire Emboitement (Nest) de tuples dans MDX
de Marseille Membres calculés dans MDX, Membres NULL et Cellules EMPTY
Décembre 2015 4. Fonctions sur les membres et ensembles (Sets) de MDX
Fonctions sur les membres et les dimensions
Opérations sur les ensembles (Sets) dans MDX
Fonctions sur les Sets (Head, Tail, Subset, Topcount, Order, Filter) et
• Introduction à MDX (CrossJoin)
• Syntaxe de base de MDX 5. Expressions avancées de MDX
• Membres et tuples dans MDX Analyse comparative : fonction ParallelPeriod
• Fonctions sur les membres et les ensembles Calcul cumulatif : fonction Descendants
Expressions conditionnelles : IFF
(Sets) de MDX
• Expressions avancées de MDX 6. Résumé des commandes MDX
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 2
Ouvrages :
Vaisman A., Zimányi E., « Data Warehouse Systems: Design
and Implementation », Springer-Verlag, 2014, ISBN 978-3-
642-54654-9.
M. Whitehorn, R. Zare, M. Pasumansky, « Fast track to MDX
», Springer, 2006.
Golfarelli M., Rizzi S., « Data Warehouse Design : Modern
Principles and Methodologies », McGrawHill, 2009.
…
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 9 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1
0
Ce cube « sale » (inspired from Vaisman & Zimányi) 3 catégories d’opérations élémentaires :
a : 3 dimensions : Time, Customer, Restructuration : concerne la représentation, permet un changement de points
Product de vue selon différentes dimensions : opérations liées à la structure,
1 measure : SalesAmount manipulation et visualisation du cube :
Customers
Berlin
Köln Rotate/pivot
(City)
24
Switch
Lyon
18
Paris
20
28
21
14
24
Q1
10
12
21
25
Time 14
18
33
33
(Quarter)
Q2 25
Granularité : concerne un changement de niveau de détail : opérations liées au
35
25
27 33 18
10
Q
26
14
18
11
35
14 23
17
niveau de granularité des données :
3
14
12
35
35
30
1 80
2 roll-up,
12
Q4
20
30
47
32
32
33
10
drill-down
31
31
Ensembliste : concerne l’extraction et l’OLTP classique :
Beverage
Produce
Product
(Category)
Condime slice, dice
nt
Seafoo
d
selection, projection et jointure (drill-across)
Switch
Lyon
18
Paris
20
28
21
14
24
Q1
10
12
21
25
Time 14
18
33
33
(Quarter)
Q2 25
Granularité : concerne un changement de niveau de détail : opérations liées au
35
25
27 33 18
10
Q
26
14
18
11
35
14 23
17
niveau de granularité des données :
3
14
12
35
35
30
1 80
2 roll-up,
12
Q4
20
30
47
32
32
33
10
drill-down
31
31
Ensembliste : concerne l’extraction et l’OLTP classique :
Beverage
Produce
Product
(Category)
Condime slice, dice
nt
Seafoo
d
selection, projection et jointure (drill-across)
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 9 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1
0
Ce cube « sale » (inspired from Vaisman & Zimányi) 3 catégories d’opérations élémentaires :
a : 3 dimensions : Time, Customer, Restructuration : concerne la représentation, permet un changement de points
Product de vue selon différentes dimensions : opérations liées à la structure,
1 measure : SalesAmount manipulation et visualisation du cube :
Customers
Berlin
Köln Rotate/pivot
(City)
24
Switch
Lyon
18
Paris
20
28
21
14
24
Q1
10
12
21
25
Time 14
18
33
33
(Quarter)
Q2 25
Granularité : concerne un changement de niveau de détail : opérations liées au
35
25
27 33 18
10
Q
26
14
18
11
35
14 23
17
niveau de granularité des données :
3
14
12
35
35
30
1 80
2 roll-up,
12
Q4
20
30
47
32
32
33
10
drill-down
31
31
Ensembliste : concerne l’extraction et l’OLTP classique :
Beverage
Produce
Product
(Category)
Condime slice, dice
nt
Seafoo
d
selection, projection et jointure (drill-across)
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 9 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1
0
Ce cube « sale » (inspired from Vaisman & Zimányi) 3 catégories d’opérations élémentaires :
a : 3 dimensions : Time, Customer, Restructuration : concerne la représentation, permet un changement de points
Product de vue selon différentes dimensions : opérations liées à la structure,
1 measure : SalesAmount manipulation et visualisation du cube :
Customers
Berlin
Köln Rotate/pivot
(City)
24
Switch
Lyon
18
Paris
20
28
21
14
24
Q1
10
12
21
25
Time 14
18
33
33
(Quarter)
Q2 25
Granularité : concerne un changement de niveau de détail : opérations liées au
35
25
27 33 18
10
Q
26
14
18
11
35
14 23
17
niveau de granularité des données :
3
14
12
35
35
30
1 80
2 roll-up,
12
Q4
20
30
47
32
32
33
10
drill-down
31
31
Ensembliste : concerne l’extraction et l’OLTP classique :
Beverage
Produce
Product
(Category)
Condime slice, dice
nt
Seafoo
d
selection, projection et jointure (drill-across)
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 9 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1
0
Ce cube « sale » (inspired from Vaisman & Zimányi) 3 catégories d’opérations élémentaires :
a : 3 dimensions : Time, Customer, Restructuration : concerne la représentation, permet un changement de points
Product de vue selon différentes dimensions : opérations liées à la structure,
1 measure : SalesAmount manipulation et visualisation du cube :
Customers
Berlin
Köln Rotate/pivot
(City)
24
Switch
Lyon
18
Paris
20
28
21
14
24
Q1
10
12
21
25
Time 14
18
33
33
(Quarter)
Q2 25
Granularité : concerne un changement de niveau de détail : opérations liées au
35
25
27 33 18
10
Q
26
14
18
11
35
14 23
17
niveau de granularité des données :
3
14
12
35
35
30
1 80
2 roll-up,
12
Q4
20
30
47
32
32
33
10
drill-down
31
31
Ensembliste : concerne l’extraction et l’OLTP classique :
Beverage
Produce
Product
(Category)
Condime slice, dice
nt
Seafoo
d
selection, projection et jointure (drill-across)
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 9 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1
0
Ce cube « sale » (inspired from Vaisman & Zimányi) 3 catégories d’opérations élémentaires :
a : 3 dimensions : Time, Customer, Restructuration : concerne la représentation, permet un changement de points
Product de vue selon différentes dimensions : opérations liées à la structure,
1 measure : SalesAmount manipulation et visualisation du cube :
Customers
Berlin
Köln Rotate/pivot
(City)
24
Switch
Lyon
18
Paris
20
28
21
14
24
Q1
10
12
21
25
Time 14
18
33
33
(Quarter)
Q2 25
Granularité : concerne un changement de niveau de détail : opérations liées au
35
25
27 33 18
10
Q
26
14
18
11
35
14 23
17
niveau de granularité des données :
3
14
12
35
35
30
1 80
2 roll-up,
12
Q4
20
30
47
32
32
33
10
drill-down
31
31
Ensembliste : concerne l’extraction et l’OLTP classique :
Beverage
Produce
Product
(Category)
Condime slice, dice
nt
Seafoo
d
selection, projection et jointure (drill-across)