0% ont trouvé ce document utile (0 vote)
56 vues10 pages

Guide sur le langage MDX pour OLAP

Transféré par

hayfa bellazreg
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
56 vues10 pages

Guide sur le langage MDX pour OLAP

Transféré par

hayfa bellazreg
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Entrepôts de données : Introduction au langage MDX

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.
 …

Cours :  Origine de MDX


 Cours de K. Aouiche, Université de Lyon 2, 2009.
 MDX versus SQL
 Cours de A. Vaisman A., E. Zimányi, Université Libre de
Bruxelles, 2014.  Un exemple d’entrepôt
 Cours de P. Marcel, Université de Tours, 2012.  Rappel des catégories d’opérations OLAP
 Cours de M. Herschel, Herschel, Université Paris Sud, 2012.
 …
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 3 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 4
Les requêtes en SQL sont
similaires aux requêtes en MDX.
En utilisant MDX, les utilisateurs peuvent
Les requêtes en SQL permettent
 MDX, acronyme de Multi Dimensional eXpression, créer des analyses de données avancées
est un  La syntaxe de MDX ressemble à celle
d'extraire des de de
données SQL par ses mots clé
tables,
qui leur permettent de découvrir des
langage de requêtes OLAP pour les bases tendances
de donnéeset des relations dans les
SELECT, FROM, WHERE, mais
tandis leurs
que les requêtes en MDX sont différentes
sémantiques :
permettent d'extraire des
multidimensionnelles données qu'ils analysent.  SQL construit des vuesde relationnelles
données cubes.
 inventé en 1997 par Mosha Pasumansky au sein de Microsoft,  MDX construits des vues multidimensionnelles des données
version commerciale Microsoft OLAP Services 7.0 & Analysis  Analogies entre termes multidimensionnels (MDX) et relationnels
Services en1998, dernière spécification OLE DB for OLAP (SQL) :
(ODBO) en 1999
 MDX est fait pour naviguer dans les bases multidimensionnelles, Multidimensionnel (MDX) Relationnel (SQL)
et définir des requêtes sur tous leurs Les objets (dimensions,
tables dans une base de données Cube Table
hiérarchies, niveaux, membres et cellules) relationnelle sont similaires aux cubes Colonne (chaine de caractère
dans une base de données Niveau (Level)
 Une requête MDX retourne un rapport à plusieurs dimensions Les tables ont des ou valeur numérique)
multidimensionnelle.
consistant en un ou plusieurs tableaux 2D colonnes qui représentent des attributs plusieurs colonnes liées ou
Dimension
de données, tandis que les cubes ont des
 Utilisé par de nombreux outils de BI commerciaux une table de dimension
ou non axes qui représentent des dimensions.
Mesure (Measure) Colonne (discrète ou numérique)
 Langage très complexe et puissant générant des requêtes
Membre de Valeur dans une colonne et une
plus compacte que les requêtes SQL équivalentes
dimension ligne particulière de la table
(Dimension
member)
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 5 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 6
WHERE, AXIS WHERE, GROUP BY, HAVING

Clauses : Les clauses en SQL,


telles que WHERE, GROUP BY,
 La clause SELECT indique les résultats
HAVING, etc., sontque l’on souhaite
similaires aux récupérer
 Structure générale d’une requête : par la requête : clauses en MDX, telles que
WHERE, AXIS, etc. Ces clauses
 en SQL : permettent de filtrer, regrouper
 SQL : SELECT column1, column2, …, columnn FROM
 une vue des données
et manipuler les données. : lignes (rows) et
en 2 dimensions
table colonnes (columns)
 les lignes ont la même structure définie par les colonnes
 MDX : SELECT axis1 ON COLUMNS, axis2 ON ROWS
FROM cube  en MDX :
 nb quelconque de dimensions pour former les résultats
 Clause FROM spécifie la source de
de la requête
données :
 en SQL : une ou plusieurs  terme d’axe pour éviter confusion avec les dimensions
du cube
tables
 en MDX : un  pas de signification particulière pour les rows et les
cube columns,
 mais il faut définir chaque axe : axe1 définit l’axe
horizontal et
axe2 définit l’axe vertical
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 7 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 8
 MDX, acronyme de Multi Dimensional eXpression, est un  La syntaxe de MDX ressemble à celle de SQL par ses mots clé
langage de requêtes OLAP pour les bases de données SELECT, FROM, WHERE, mais leurs sémantiques sont différentes :
multidimensionnelles  SQL construit des vues relationnelles
 inventé en 1997 par Mosha Pasumansky au sein de Microsoft,  MDX construits des vues multidimensionnelles des données
version commerciale Microsoft OLAP Services 7.0 & Analysis  Analogies entre termes multidimensionnels (MDX) et relationnels
Services en1998, dernière spécification OLE DB for OLAP (SQL) :
(ODBO) en 1999
 MDX est fait pour naviguer dans les bases multidimensionnelles, Multidimensionnel (MDX) Relationnel (SQL)
et définir des requêtes sur tous leurs objets (dimensions, Cube Table
hiérarchies, niveaux, membres et cellules) Colonne (chaine de caractère
Niveau (Level)
 Une requête MDX retourne un rapport à plusieurs dimensions ou valeur numérique)
consistant en un ou plusieurs tableaux 2D plusieurs colonnes liées ou
Dimension
 Utilisé par de nombreux outils de BI commerciaux ou non une table de dimension
Mesure (Measure) Colonne (discrète ou numérique)
 Langage très complexe et puissant générant des requêtes
Membre de Valeur dans une colonne et une
plus compacte que les requêtes SQL équivalentes
dimension ligne particulière de la table
(Dimension
member)
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 5 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 6
WHERE, AXIS WHERE, GROUP BY, HAVING

 La clause SELECT indique les résultats que l’on souhaite récupérer


 Structure générale d’une requête : par la requête :
 en SQL :
 SQL : SELECT column1, column2, …, columnn FROM
 une vue des données en 2 dimensions : lignes (rows) et
table colonnes (columns)
 les lignes ont la même structure définie par les colonnes
 MDX : SELECT axis1 ON COLUMNS, axis2 ON ROWS
FROM cube  en MDX :
 nb quelconque de dimensions pour former les résultats
 Clause FROM spécifie la source de
de la requête
données :
 en SQL : une ou plusieurs  terme d’axe pour éviter confusion avec les dimensions
tables
SELECT nom, prenom, age du cube
 en MDX : un FROM clients WHERE ville  pas de signification particulière pour les rows et les
cube = 'Paris'; columns,
 mais il faut définir chaque axe : axe1 définit l’axe
horizontal et
axe2 définit l’axe vertical
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 7 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 8
 MDX, acronyme de Multi Dimensional eXpression, est un  La syntaxe de MDX ressemble à celle de SQL par ses mots clé
langage de requêtes OLAP pour les bases de données SELECT, FROM, WHERE, mais leurs sémantiques sont différentes :
multidimensionnelles  SQL construit des vues relationnelles
 inventé en 1997 par Mosha Pasumansky au sein de Microsoft,  MDX construits des vues multidimensionnelles des données
version commerciale Microsoft OLAP Services 7.0 & Analysis  Analogies entre termes multidimensionnels (MDX) et relationnels
Services en1998, dernière spécification OLE DB for OLAP (SQL) :
(ODBO) en 1999
 MDX est fait pour naviguer dans les bases multidimensionnelles, Multidimensionnel (MDX) Relationnel (SQL)
et définir des requêtes sur tous leurs objets (dimensions, Cube Table
hiérarchies, niveaux, membres et cellules) Colonne (chaine de caractère
Niveau (Level)
 Une requête MDX retourne un rapport à plusieurs dimensions ou valeur numérique)
consistant en un ou plusieurs tableaux 2D plusieurs colonnes liées ou
Dimension
 Utilisé par de nombreux outils de BI commerciaux ou non une table de dimension
Mesure (Measure) Colonne (discrète ou numérique)
 Langage très complexe et puissant générant des requêtes
Membre de Valeur dans une colonne et une
plus compacte que les requêtes SQL équivalentes
dimension ligne particulière de la table
(Dimension
member)
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 5 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 6
WHERE, AXIS WHERE, GROUP BY, HAVING

 La clause SELECT indique les résultats que l’on souhaite récupérer


 Structure générale d’une requête : par la requête :
 en SQL :
 SQL : SELECT column1, column2, …, columnn FROM
 une vue des données en 2 dimensions : lignes (rows) et
table colonnes (columns)
 les lignes ont la même structure définie par les colonnes
 MDX : SELECT axis1 ON COLUMNS, axis2 ON ROWS
 Les colonnes sélectionnées peuvent être des colonnes de la
FROM cube
table ou des expressions de colonnes calculées.
 Clause FROM spécifie la source de
 en MDX :
données :
 en SQL : une ou plusieurs  nb quelconque de dimensions pour former les résultats
de la requête
tables
 en MDX : un  terme d’axe pour éviter confusion avec les dimensions
cube du cube
 pas de signification particulière pour les rows et les
columns,
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 7
 mais
Introduction au langage il faut
MDX pour définir
l’OLAP - Bernard chaque
ESPINASSE - axe : axe1 définit l’axe 8
horizontal et
axe2 définit l’axe vertical
Soit la requête MDX suivante : (Q=Quarter)  Measures : Unit Price, Quantity, Discount, SalesAmount, Freight
 Dimension : Time
SELECT {Paris, Berlin} ON ROWS Agrégation de la
mesure
Voici une explication
 hierarchy détaillée
: Year > Quarter > de chaque
Month élément
> with membersde la: commande RDX:
{[Q1], [Q2].CHILDREN} ON « SaleAmount » avec •La commande
 Year: SELECT indique les éléments
2010, 2011, 2012, 2013, 2014 que nous souhaitons extraire
COLUMNS la fonction SUM dans la requête.
 Quarter: Ici, nous
Q1, demandons
Q2, Q3, Q4 les données pour les villes de Paris et
FROM Berlin.  Month: January, February, March, …
function
CubeSales Sélection de la
WHERE •Les mots-clés ON ROWS et ON COLUMNS spécifient les dimensions sur
dimension Time  Dimension : Customer
([Link] (2014 seulement) lesquelles nous voulons afficher les données. Dans cette requête, nous
 hierarchy : Continent > Country > State > City with members :
demandons les données pour les trimestres Q1 et Q2 et leurs enfants (sous-
t, Time.[2014],  City: Paris, Lyon, Berlin, Köln, Marseille, Nantes …
Sélection de la trimestres) sur l'axe des lignes (ROWS), et nous demandons les données pour

[Link]) dimension Product le produit etState:
l'annéeLoire2014atlantique, Bouches
sur l'axe des du Rhône,
colonnes Bas Rhin,
(COLUMNS).
Résultat : (all product) Torino…indique le nom du cube de données à partir duquel nous
•FROM Cubesales
 Country: Austria, Belgium, Danmark, France, ...
Q1 2014 April 2014 May 2014 June 2014 voulons extraire les données. Dans ce cas, le cube de données s'appelle
 Continent level: Europe, North America, Sud America, Asia
"Cubesales".
Paris 12,567 3,360 5,450 4,570  •Dimension
La clause WHERE: Product permet de filtrer les données en fonction des critères
Berlin 12,567 3,360 5,450 4,570  hierarchy
spécifiés. Ici,:nous
Category > Subcategory
filtrons les données > pour
product with members
la mesure :
de ventes
 Category
(SalesAmount) : Food, 2014
pour l'année Drink et
…le produit.
… … … …  Food category: Baked_food …
SalesAmount…values
 …

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

 Split, nest, push, pull


23

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)

La cellule en haut à gauche a la valeur 21 et correspond à la vente de


beverage à Paris durant le premier trimestre (Q1) :
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1
([Link] ; [Link].Q1 ; [Link])1 2
Soit la requête MDX suivante : (Q=Quarter)  Measures : Unit Price, Quantity, Discount, SalesAmount, Freight
 Dimension : Time
SELECT {Paris, Berlin} ON ROWS Agrégation de la
mesure  hierarchy : Year > Quarter > Month > with members :
{[Q1], [Q2].CHILDREN} ON « SaleAmount » avec  Year: 2010, 2011, 2012, 2013, 2014
COLUMNS la fonction SUM  Quarter: Q1, Q2, Q3, Q4
FROM
function
Sélection de la  Month: January, February, March, …
CubeSales
WHERE dimension Time  Dimension : Customer
([Link] (2014 seulement)  hierarchy : Continent > Country > State > City with members :
t, Time.[2014],  City: Paris, Lyon, Berlin, Köln, Marseille, Nantes …
Sélection de la
 State: Loire atlantique, Bouches du Rhône, Bas Rhin,
[Link]) dimension Product
Résultat : (all product) Torino…
 Country: Austria, Belgium, Danmark, France, ...
Q1 2014 April 2014 May 2014 June 2014  Continent level: Europe, North America, Sud America, Asia
Paris 12,567 3,360 5,450 4,570  Dimension : Product En combinant ces trois
Berlin 12,567 3,360 5,450 4,570  hierarchy : Category > Subcategory > product with :
members avec
dimensions les mesures,
 Category : Food, Drink … il est possible d'effectuer des
… … … …  Food category: Baked_food … analyses
SalesAmount…values
 … multidimensionnelles pour
obtenir des insights sur les
ventes, les clients, les
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 9 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - produits et les périodes 1 de
temps spécifiques. 0 Cela
permet à l'entreprise de
prendre des décisions
éclairées pour améliorer ses
performances et sa
 Ce cube « sale » 3 catégories d’opérations élémentaires : rentabilité.
(inspired from Vaisman & Zimányi)
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

 Split, nest, push, pull


23

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)

La cellule en haut à gauche a la valeur 21 et correspond à la vente de


beverage à Paris durant le premier trimestre (Q1) :
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1
([Link] ; [Link].Q1 ; [Link])1 2
Soit la requête MDX suivante : (Q=Quarter)  Measures : Unit Price, Quantity, Discount, SalesAmount, Freight
 Dimension : Time
SELECT {Paris, Berlin} ON ROWS Agrégation de la
mesure  hierarchy : Year > Quarter > Month > with members :
{[Q1], [Q2].CHILDREN} ON « SaleAmount » avec  Year: 2010, 2011, 2012, 2013, 2014
COLUMNS la fonction SUM  Quarter: Q1, Q2, Q3, Q4
FROM
function
Sélection de la  Month: January, February, March, …
CubeSales
WHERE dimension Time  Dimension : Customer
([Link] (2014 seulement)  hierarchy : Continent > Country > State > City with members :
t, Time.[2014],  City: Paris, Lyon, Berlin, Köln, Marseille, Nantes …
Sélection de la
 State: Loire atlantique, Bouches du Rhône, Bas Rhin,
[Link]) dimension Product
Résultat : (all product) Torino…
 Country: Austria, Belgium, Danmark, France, ...
Q1 2014 April 2014 May 2014 June 2014  Continent level: Europe, North America, Sud America, Asia
Paris 12,567 3,360 5,450 4,570  Dimension : Product
Berlin 12,567 3,360 5,450 4,570  hierarchy : Category > Subcategory > product with members :
 Category : Food, Drink …
… … … …  Food category: Baked_food …
SalesAmount…values
 …

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

 Split, nest, push, pull


23

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)

La cellule en haut à gauche a la valeur 21 et correspond à la vente de


beverage à Paris durant le premier trimestre (Q1) :
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1
([Link] ; [Link].Q1 ; [Link])1 2
Soit la requête MDX suivante : (Q=Quarter)  Measures : Unit Price, Quantity, Discount, SalesAmount, Freight
 Dimension : Time
SELECT {Paris, Berlin} ON ROWS Agrégation de la
mesure  hierarchy : Year > Quarter > Month > with members :
{[Q1], [Q2].CHILDREN} ON « SaleAmount » avec  Year: 2010, 2011, 2012, 2013, 2014
COLUMNS la fonction SUM  Quarter: Q1, Q2, Q3, Q4
FROM
function
Sélection de la  Month: January, February, March, …
CubeSales
WHERE dimension Time  Dimension : Customer
([Link] (2014 seulement)  hierarchy : Continent > Country > State > City with members :
t, Time.[2014],  City: Paris, Lyon, Berlin, Köln, Marseille, Nantes …
Sélection de la
 State: Loire atlantique, Bouches du Rhône, Bas Rhin,
[Link]) dimension Product
Résultat : (all product) Torino…
 Country: Austria, Belgium, Danmark, France, ...
Q1 2014 April 2014 May 2014 June 2014  Continent level: Europe, North America, Sud America, Asia
Paris 12,567 3,360 5,450 4,570  Dimension : Product
Berlin 12,567 3,360 5,450 4,570  hierarchy : Category > Subcategory > product with members :
 Category : Food, Drink …
… … … …  Food category: Baked_food …
SalesAmount…values
 …

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

 Split, nest, push, pull


23

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)

La cellule en haut à gauche a la valeur 21 et correspond à la vente de


beverage à Paris durant le premier trimestre (Q1) :
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1
([Link] ; [Link].Q1 ; [Link])1 2
Soit la requête MDX suivante : (Q=Quarter)  Measures : Unit Price, Quantity, Discount, SalesAmount, Freight
 Dimension : Time
SELECT {Paris, Berlin} ON ROWS Agrégation de la
mesure  hierarchy : Year > Quarter > Month > with members :
{[Q1], [Q2].CHILDREN} ON « SaleAmount » avec  Year: 2010, 2011, 2012, 2013, 2014
COLUMNS la fonction SUM  Quarter: Q1, Q2, Q3, Q4
FROM
function
Sélection de la  Month: January, February, March, …
CubeSales
WHERE dimension Time  Dimension : Customer
([Link] (2014 seulement)  hierarchy : Continent > Country > State > City with members :
t, Time.[2014],  City: Paris, Lyon, Berlin, Köln, Marseille, Nantes …
Sélection de la
 State: Loire atlantique, Bouches du Rhône, Bas Rhin,
[Link]) dimension Product
Résultat : (all product) Torino…
 Country: Austria, Belgium, Danmark, France, ...
Q1 2014 April 2014 May 2014 June 2014  Continent level: Europe, North America, Sud America, Asia
Paris 12,567 3,360 5,450 4,570  Dimension : Product
Berlin 12,567 3,360 5,450 4,570  hierarchy : Category > Subcategory > product with members :
 Category : Food, Drink …
… … … …  Food category: Baked_food …
SalesAmount…values
 …

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

 Split, nest, push, pull


23

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)

La cellule en haut à gauche a la valeur 21 et correspond à la vente de


beverage à Paris durant le premier trimestre (Q1) :
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1
([Link] ; [Link].Q1 ; [Link])1 2
Soit la requête MDX suivante : (Q=Quarter)  Measures : Unit Price, Quantity, Discount, SalesAmount, Freight
 Dimension : Time
SELECT {Paris, Berlin} ON ROWS Agrégation de la
mesure  hierarchy : Year > Quarter > Month > with members :
{[Q1], [Q2].CHILDREN} ON « SaleAmount » avec  Year: 2010, 2011, 2012, 2013, 2014
COLUMNS la fonction SUM  Quarter: Q1, Q2, Q3, Q4
FROM
function
Sélection de la  Month: January, February, March, …
CubeSales
WHERE dimension Time  Dimension : Customer
([Link] (2014 seulement)  hierarchy : Continent > Country > State > City with members :
t, Time.[2014],  City: Paris, Lyon, Berlin, Köln, Marseille, Nantes …
Sélection de la
 State: Loire atlantique, Bouches du Rhône, Bas Rhin,
[Link]) dimension Product
Résultat : (all product) Torino…
 Country: Austria, Belgium, Danmark, France, ...
Q1 2014 April 2014 May 2014 June 2014  Continent level: Europe, North America, Sud America, Asia
Paris 12,567 3,360 5,450 4,570  Dimension : Product
Berlin 12,567 3,360 5,450 4,570  hierarchy : Category > Subcategory > product with members :
 Category : Food, Drink …
… … … …  Food category: Baked_food …
SalesAmount…values
 …

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

 Split, nest, push, pull


23

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)

La cellule en haut à gauche a la valeur 21 et correspond à la vente de


beverage à Paris durant le premier trimestre (Q1) :
Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1 Introduction au langage MDX pour l’OLAP - Bernard ESPINASSE - 1
([Link] ; [Link].Q1 ; [Link])1 2

Vous aimerez peut-être aussi