Les Entrepôts de Données: Boukil - Stid 2020
Les Entrepôts de Données: Boukil - Stid 2020
Les Entrepôts de Données: Boukil - Stid 2020
1
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
Démonstration
2
Le contexte
Besoin: prise de décisions stratégiques et tactiques
Pourquoi: besoin de réactivité
Qui: les décideurs (non informaticiens)
Comment: répondre aux demandes d’analyse des données, dégager
des informations qualitatives nouvelles
Pourquoi et
Qui sont mes
comment le
meilleurs
chiffre d’affaire
clients?
a baissé?
A combien
Quels clients
s’élèvent mes
consomment
ventes
beaucoup de
journalières?
poisson?
3
Les données utilisables par les décideurs
Données opérationnelles (de production)
Bases de données (Oracle, SQL Server)
Fichiers, …
Paye, gestion des RH, gestion des commandes…
5
Le processus de prise de décision
6
Le processus de prise de décision
Prise de
décision
7
Domaines d’utilisation des DW
Banque
Risques d’un prêt, prime plus précise
Santé
Épidémiologie
Risque alimentaire
Commerce
Ciblage de clientèle
Déterminer des promotions
Logistique
Adéquation demande/production
Assurance
Risque lié à un contrat d’assurance (voiture)
…
8
Quelques métiers du décisionnel
Strategic Performance Management
Déterminer et contrôler les indicateurs clé de la performance de
l’entreprise
Finance Intelligence
Planifier, analyser et diffuser l’information financière. Mesurer et
gérer les risques
Human Capital Management (gestion de la relation avec les employés)
Aligner les stratégies RH, les processus et les technologies.
Customer Relationship Management (gestion de la relation client)
Améliorer la connaissance client, identifier et prévoir la
rentabilité client, accroitre l’efficacité du marketing client
Supplier Relationship Management (gestion de la relation fournisseur)
Classifier et évaluer l’ensemble des fournisseurs. Planifier et
9
piloter la stratégie Achat.
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
Démonstration
10
Définition d’un DW
William. H. Inmon (1996):
« Le data Warehouse est une collection de
données orientées sujet, intégrées, non
volatiles et historisées, organisées pour le
support d’un processus d’aide à la décision »
11
Les 4 caractéristiques des data warehouse
Client
Police
12
Les 4 caractéristiques des data warehouse
2. Données intégrées:
Normalisation des données
Définition d’un référentiel unique
h,f
1,0 h,f
homme, femme
DRM
EUR
LIR
USD 13
Les 4 caractéristiques des data warehouse
Ajout
Suppression
Accès
Modification Chargement
14
Les 4 caractéristiques des data warehouse
4. Données datées
Les données persistent dans le temps
Mise en place d’un référentiel temps
Image de la base en Mai 2005 Image de la base en Juillet 2006
Répertoire Répertoire
Base de Nom Ville Nom Ville
production
Dupont Paris Dupont Marseille
Durand Lyon Durand Lyon
Calendrier Répertoire
Entrepôt Code Année Mois
Code Année Mois
de
1 2005 Mai 1 Dupont Paris
données
2 2006 Juillet 1 Durand Lyon
15
2 Dupont Marseille
SGBD et DW
OLTP: On-Line Service Service Service
Transactional commercial Financier livraison
Processing BD prod BD prod BD prod
(traitement Clientèle
transactionnel
en ligne)
H
I
Data Warehouse S
OLAP: On-Line T
Analytical O
Processing R
Clientèle I
(traitement Q
analytique en U
16
ligne) E
OLTP VS DW
OLTP DW
Orienté transaction Orienté analyse
Orienté application Orienté sujet
Données courantes Données historisées
Données détaillées Données agrégées
Données évolutives Données statiques
Utilisateurs nombreux, Utilisateurs peu nombreux,
administrateurs/opérationnels manager
Temps d’exécution: court Temps d’exécution: long
17
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
Démonstration
18
Datamart
Sous-ensemble d’un entrepôt de données
Destiné à répondre aux besoins d’un secteur ou
d’une fonction particulière de l’entreprise
Point de vue spécifique selon des critères métiers
Datamarts du
service Marketing
Datamart du
DW de l’entreprise service Ressources
Humaines 19
Intérêt des datamart
Nouvel environnement structuré et formaté en
fonction des besoins d’un métier ou d’un usage
particulier
Moins de données que DW
Plus facile à comprendre, à manipuler
Amélioration des temps de réponse
Utilisateurs plus ciblés: DM plus facile à définir
20
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
Démonstration
21
Architecture générale
Zone de
Zone de préparation Zone de stockage présentation
E
X
C
T H
R A
Transformations: Data Requêtes
A R
Nettoyage warehouse Rapports
C G
T Standardisation Visualisation
E
I … Data Mining
M
O …
E
N
N
Sources de Datamart
T
données
22
Les flux de données
Flux entrant
Extraction: multi-source, hétérogène
Transformation: filtrer, trier, homogénéiser, nettoyer
Chargement: insertion des données dans l’entrepôt
Flux sortant:
Mise à disposition des données pour les utilisateurs
finaux
23
Les différentes zones de l’architecture
Zone de préparation (Staging area)
Zone temporaire de stockage des données extraites
Réalisation des transformations avant l’insertion dans le DW:
Nettoyage
Normalisation…
Requêtes…
24
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
Démonstration
25
Modélisation Entité/Association
Avantages:
Normalisation:
Éliminer les redondances
Produit
Contrat Commande
client
Type de Groupe de
contrat Client produits
Magasin
Famille de
Employé Région de produits
Stock ventes
Fonction Division
Fournisseurs 27
de ventes
Modélisation des DW
Nouvelle méthode de conception autour des
concepts métiers
Ne pas normaliser au maximum
Introduction de nouveaux types de table:
Table de faits
Table de dimensions
Introduction de nouveaux modèles:
Modèle en étoile
Modèle en flocon
28
Table de faits
Table principale du modèle dimensionnel
Contient les données observables (les faits) sur le sujet
étudié selon divers axes d’analyse (les dimensions)
32
Table de dimension
Axe d’analyse selon lequel vont être étudiées les données
observables (faits)
Contient le détail sur les faits
Dimension produit
Clé de substitution Clé produit (CP)
Code produit
Description du produit
Attributs de la Famille du produits
dimension Marque
Emballage
Poids 33
Table de dimension (suite)
Dimension = axe d’analyse
Client, produit, période de temps…
Contient souvent un grand nombre de colonnes
L’ensemble des informations descriptives des faits
Contient en général beaucoup moins
d’enregistrements qu’une table de faits
34
Notion de dimension
C’est une catégorie linguistique selon laquelle les
données sont organisées:
Nom d’un attribut
Valeur d’un attribut.
35
Représentation de dimension
36
La dimension Temps
Commune à l’ensemble du Dimension Temps
DW Clé temps (CP)
Reliée à toute table de Jour
faits Mois
Trimestre
Semestre
Année
Num_jour_dans_année
Num_semaine_ds_année
37
Granularité d’une dimension
Une dimension contient des membres organisés
en hiérarchie :
Chacun des membres appartient à un niveau
hiérarchique (ou niveau de granularité) particulier
Granularité d’une dimension : nombre de niveaux
hiérarchiques
38
Évolution des dimensions
Dimensions à évolution lente
Dimensions à évolution rapide
39
Évolution des dimensions
Dimensions à évolution lente
Un client peut se marier, avoir des enfants…
Un produit peut changer de noms ou de
formulation:
« WANA » en « INWI »
« MACRO » en « ATACADAO »
Versionnement
Avantage:
Facile à mettre en œuvre
Inconvénients:
Perte de la trace des valeurs antérieures des attributs
Perte de la cause de l’évolution dans les faits mesurés
Avantages:
Permet de suivre l’évolution des attributs
Permet de segmenter la table de faits en fonction de
l’historique
Inconvénient:
Accroit le volume de la table
44
Dimensions à évolution rapide
Changements fréquents des attributs dont on veut garder
l’historique
Clients pour une compagnie d’assurance
Isoler les attributs qui évoluent vite
45
Dimensions à évolution rapide (suite)
Dim client
Faits Clé_client
Dim client
Nom Faits
Clé_client Clé_client
… Prénom Clé_client
Nom
Adresse Clé_démog
Prénom
Date_naissance
Adresse
…
Date_nais
… Dim_démographique
Revenus Clé_démog
Niveau_étude Revenus
Nb_enfants Niveau_étude
Statut_marital Nb_enfants
Profil_financier Statut_marital
Profil_achat Profil_financier 46
Profil_achat
Les types de modèles
Sujets :
Suivi du marché: lignes installées/ désinstallées,
services et options choisis, répartition
géographique, répartition entre public et différents
secteurs d'organisations
Comportement de la clientèle
Comportement du réseau
Historique
5 ans pour le suivi du marché
1 an pour le comportement de la clientèle
1 mois pour le comportement du réseau
53
Exemple: un DW dans les télécoms
Sources
Fichiers clients élaborés par les agences
Fichiers de facturation
Requêtes
Comportement clientèle
Nombre moyen d'heures par client, par mois et
par région
Durée moyenne d'une communication urbaine par
ville
Durée moyenne d'une communication
internationale
54
Exemple d’application
56
Exemple d’application
57
Exemple d’application
59
Exemple d’application
60
61
Exemple d’application : DW d’EST
63
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
Démonstration
64
Alimentation/ mise à jour de l’entrepôt
Entrepôt mis à jour régulièrement
Besoin d’un outil permettant d’automatiser les chargements
dans l’entrepôt
65
Définition d’un ETL
Offre un environnement de développement
Offre des outils de gestion des opérations et de
maintenance
Permet de découvrir, analyser et extraire les données
à partir de sources hétérogènes
Permet de nettoyer et standardiser les données
Permet de charger les données dans un entrepôt
66
Extraction
Extraire des données des systèmes de production
Dialoguer avec différentes sources:
Base de données,
Fichiers,
Bases propriétaires
67
Transformation
Rendre cohérentes les données des différentes
sources
Transformer, nettoyer, trier, unifier les données
Exemple: unifier le format des dates
(MM/JJ/AA JJ/MM/AA)
Etape très importante, garantit la cohérence et la
fiabilité des données
68
Chargement
Insérer ou modifier les données dans l’entrepôt
Utilisation de connecteurs:
ODBC,
SQL natif,
Fichiers plats
69
Aperçu d’un ETL
70
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Accès à l’information
Démonstration
71
OLTP VS OLAP
Produits Pays
oranges
Produit poires
Espagne
PK id_produit
pommes Allemagne
Libellé
Famille
Achat France
PK id_achat
FK id_client
id_produit Vente de
client janvier avril pommes en
Quantité
PK id_client Allemagne
février
Temps en avril
Nom
adresse
72
ROLAP
Relational OLAP
Données stockées dans une base de données
relationnelles
Un moteur OLAP permet de simuler le
comportement d’un SGBD multidimensionnel
Plus facile et moins cher à mettre en place
Moins performant lors des phases de calcul
Exemples de moteurs ROLAP:
Mondrian est un serveur Olap écrit en langage JavaIL utilise le
langage d'interrogation MDX. Mondrian, précurseur du décisionnel
Open source, est désormais intégré au projet Pentaho 73
MOLAP
Multi dimensional OLAP:
Utiliser un système multidimensionnel « pur » qui
gère les structures multidimensionnelles natives
(les cubes)
Accès direct aux données dans le cube
Plus difficile à mettre en place
Formats souvent propriétaires
Conçu exclusivement pour l’analyse
multidimensionnelle
Exemples de moteurs MOLAP:
Microsoft Analysis Services
74
Hyperion
HOLAP
Hybride OLAP:
tables de faits et tables de dimensions stockées
dans SGBD relationnel (données de base)
données agrégées stockées dans des cubes
Solution hybride entre MOLAP et ROLAP
Bon compromis au niveau coût et performance
75
Le cube
Modélisation multidimensionnelle des données
facilitant l’analyse d’une quantité selon différentes
dimensions:
Temps
Localisation géographique
…
Les calculs sont réalisés lors du chargement ou
de la mise à jour du cube
76
Manipulation des données
multidimensionnelles
Opération agissant sur la structure
Rotation (rotate): présenter une autre face du cube
05 06 07 05 06 07
Œuf 221 263 139 Idf 101 120 52
Viande 275 257 116 Ain 395 400 203
77
Manipulation des données
multidimensionnelles
Opération agissant sur la structure
Tranchage (slicing): consiste à ne travailler que sur une
tranche du cube. Une des dimensions est alors réduite à une
seule valeur
05 06 07 06
Œuf Idf 220 265 284 Œuf Idf 265
Ain 225 245 240 Ain 245
Viande Idf 163 152 145 Viande Idf 152
Ain 187 174 184 Ain 174
78
Manipulation des données
multidimensionnelles
Opération agissant sur la structure
Extraction d’un bloc de données (dicing): ne travailler que
sous un sous-cube
05 06 07
Œuf Idf 220 265 284 05 06 07
Ain 225 245 240 Œuf Idf 220 265 284
Viande Idf 163 152 145 Ain 225 245 240
Ain 187 174 184
79
Manipulation des données
multidimensionnelles
Opération agissant sur la granularité
Forage vers le haut (roll-up): « dézoomer »
Obtenir un niveau de granularité supérieur
Utilisation de fonctions d’agrégation
Forage vers le bas (drill-down): « zoomer »
Obtenir un niveau de granularité inférieur
Données plus détaillées
80
Drill-up, drill-down
Roll up
05 06 07
Dimension
Roll up Alim. 496 520 255 Temps
05 06 07
Drill down
Pomme 20 19 22
… … … …
Boeuf 40 43 48 Drill down
Dimension
Produit 81
MDX (Multidimensional Expressions)
Langage permettant de définir, d'utiliser et de récupérer
des données à partir d'objets multidimensionnels
Permet d’effectuer les opérations décrites précédemment
Equivalent de SQL pour le monde OLAP
Origine: Microsoft
82
MDX, exemple
Fournir les effectifs d’une société pendant les années 2004
et 2005 croisés par le type de paiement
2004 2005
Heure 3396 4015
Jour 3678 2056 83
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
Démonstration
84
Le marché du décisionnel
85
Quelques solutions commerciales
86
Quelques solutions open source
ETL Entrepôt OLAP Reporting Data Mining
de données
Octopus MySql Mondrian Birt Weka
Kettle Postgresql Palo Open Report R-Project
CloverETL Greenplum/Biz Jasper Report Orange
Talend gres JFreeReport Xelopes
Intégré
Pentaho (Kettle, Mondrian, JFreeReport, Weka)
SpagoBI
87
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Accès à l’information
Démonstration
88
Exemples
Rapports
Sales by customer
Dashboard
Analyse
89
Etude de cas
Cas d’une banque
Une banque distribue une carte de paiement «
carte de crédit » à ses clients. Elle décide de
réaliser un Datawarehouse (DW) afin de faire le
suivi des paiements suivants effectués avec la
carte :
a. Voyages en avion,
b. Locations de voiture,
c. Hôtellerie.
90
Etude de cas
Elle veut faire un suivi indépendant de chacun des
paiements a, b ou c, mais aussi avoir la possibilité
d’un suivi global.
A chaque déplacement en avion, la compagnie
aérienne lui envoie un fichier contenant les éléments
suivants:
identification de la carte de paiement, coordonnées
du client et de la compagnie aérienne;
ville de départ, ville d’arrivée, n° du vol, date du vol,
n° du billet, classe du siège, distance parcourue,
91
Etude de cas
date d’achat et prix payé.
Les loueurs de véhicule transmettent après chaque
location: identification de la carte de paiement,
coordonnées du client et de la société de location de
véhicules, catégorie du véhicule, date de début de location,
date de fin de location, nombre de jours, distance
parcourue, date de réservation et prix payé.
L’hôtel transmet à chaque séjour: identification de la carte
de paiement, coordonnées du client et de l’hôtel, catégorie
de chambre, date de début de séjour, date de fin de séjour,
nombre de nuitées, date de réservation, prix de
l’hébergement et prix de la restauration.
92
Etude de cas
1. Un premier DW ne concerne que les
déplacements en avion.
Etablir le modèle dimensionnel. Faire clairement
apparaître les dimensions et les indicateurs. Ce
DW doit permettre de répondre aux questions
suivantes : quel est le chiffre d’affaires (CA) par
client, par date de voyage (et par mois, trimestre
et année), par compagnie aérienne, par ville de
destination?
93
Etude de cas
2. De même, établir deux autres modèles
dimensionnels, l’un pour les locations de
voiture, l’autre pour l’hôtellerie.
Dans le cas de la location de voiture, on souhaite
éditer le CA, le nombre de jours de location, et le
kilométrage pour chaque: client, date de
réservation, ville, loueur, et catégorie de véhicule.
Dans le cas de l’hôtellerie, on veut des tableaux de
bord par client, hôtel, ville, date de début de
séjour, catégorie de chambre, faisant apparaître le
nombre de nuitées, le prix total payé. 94
Etude de cas
3. On veut maintenant regrouper ces trois DW en un
seul, afin de répondre aux questions supplémentaires
suivantes :
Quel est le CA total induit par un déplacement en avion ?
Quelle est la durée du séjour ? Quel est le CA en location de
voiture ? En hôtellerie ? On désire ici pouvoir éditer les détails
de CA par période de temps et par client, ville de destination,
ville de location (si différente), ville d’hébergement (si
différente), compagnie aérienne, loueur et hôtelier, et faire
tous les regroupements utiles.
Figurer le modèle dimensionnel d’un tel DW, en faisant
clairement apparaître les dimensions et les indicateurs.
95
Modélisation des données d’un Data
warehouse
3 concepts fondamentaux:
Les faits mesurent l ’activité. Les faits sont
toujours numériques. Les faits les plus importants
et les plus utiles sont valorisés de façon continue
et additifs.
Les dimensions sont les axes d ’analyse. Elles
peuvent être organisées en hiérarchies telles que
la géographie, le temps…
Les attributs des dimensions qualifient celles-ci.
Typiquement, les attributs sont textuels et discrets
(par opposition aux faits). 96
Modélisation logique des données d’un DW
L’approche MAP (Akoka-Prat)
Une dimension est une donnée élémentaire
permettant d’identifier un objet (ex : code d ’un produit).
C’est l ’axe d ’analyse
Une variable permet de gérer les données
multidimensionnelles. Elle représente une quantité
mesurable, un fait observé. Elle peut être
monodimensionnelle ou multidimensionnelle (ex : des
unités consommées peuvent être dimensionnées par un
consommateur, un produit...)
Une relation caractérise un lien existant entre les
dimensions, deux ou plus (ex : lien entre le code d ’un97
100
Modélisation logique des données d’un
DW - Le modèle en étoile
Il s ’agit d ’un modèle dénormalisé. Les tables de dimension
sont plates. Il existe une grande redondance des données
101
Modélisation logique des données d’un DW -
Le modèle en étoile
Règles de passage ER vers un modèle en étoile
Règle 1 : Toute association binaire M-N ou ternaire ou plus
porteuse de propriétés devient une table de faits identifiée par
les clés des entités participantes.
Règle 2 : Toute entité participant à une association de la règle
1 devient une table de dimensions reliée à la table de faits.
Règle 3 : Toute entité E1 reliée à une entité E2 de la règle 2
par une relation 1:N est transcrite dans la table de dimension
de E2.
Règle 4 : Toute entité E1 reliée à une entité E2 de la règle 2
par un chemin de relations 1:N est transcrite dans la table de
dimensions de E2.
102
Modélisation logique des données d’un DW -
Le modèle en flocon
Ce modèle est dérivé de celui en étoile. Toutefois, les tables de
dimensions sont normalisées et les redondances éliminées
exemple : Cas média-planning (partiel)
103
Modélisation logique des données d’un
DW - Le modèle en flocon
Règles de passage ER vers un modèle en Flocon
Règle 1 : Toute association binaire M-N ou ternaire ou plus
porteuse de propriétés devient une table de faits identifiée par
les clés des entités participantes.
Règle 2 : Toute entité participant à une association de la règle
1 devient une table de dimensions reliée à la table de faits.
Règle 3 : Toute entité E1 reliée à une entité E2 de la règle 2
par une relation 1:N devient une sous-table de dimensions
reliée à la table issue de la règle 2.
Règle 4 : Toute entité E1 reliée à une entité E2 traduite en une
sous-table de dimension en devient une sous-table de
dimensions.
104
Modélisation logique des données d’un DW –
M. en étoile vs M. en flocon
Le modèle en flocon offre une vue plus claire de la structure de
l’information permettant notamment de déceler une hiérarchie
la normalisation de ce modèle permet de plus de diminuer la
redondance, en réduisant la taille des tables de dimension. A
noter que Kimball a évalué le gain de place disque à 1 % de
l’espace disque total
Kimball préfère le modèle en étoile sur la base de deux
arguments :
1. la dénormalisation permet d ’améliorer les performances du
système lors de l ’exécution des requêtes
2. le modèle est plus facile à apprendre par l ’utilisateur non
informaticien
105
Modélisation logique des données d’un DW –
M. en étoile vs M. en flocon
Le modèle en flocon offre une vue plus claire de la structure de
l’information permettant notamment de déceler une hiérarchie
la normalisation de ce modèle permet de plus de diminuer la
redondance, en réduisant la taille des tables de dimension. A
noter que Kimball a évalué le gain de place disque à 1 % de
l’espace disque total
Kimball préfère le modèle en étoile sur la base de deux
arguments :
1. la dénormalisation permet d ’améliorer les performances du
système lors de l ’exécution des requêtes
2. le modèle est plus facile à apprendre par l ’utilisateur non
informaticien
106
MDX
La syntaxe de MDX ressemble à celle de SQL
par ses mots clé SELECT, FROM, WHERE, mais
leurs sémantiques sont différentes :
SQL construit des vues relationnelles
MDX construits des vues
multidimensionnelles des données
107
MDX
Structure générale d’une requête :
SQL : SELECT column1, column2, …, columnn
FROM table
MDX : SELECT axis1 ON COLUMNS, axis2 ON
ROWS FROM cube
en SQL :
une vue des données en 2 dimensions : lignes (rows) et colonnes
(columns)
les lignes ont la même structure définie par les colonnes
en MDX :
nb quelconque de dimensions pour former les résultats de la
requête
terme d’axe pour éviter confusion avec les dimensions du cube
pas de signification particulière pour les rows et les columns,
mais il faut définir chaque axe : axe1 définit l’axe horizontal et axe2
définit l’axe vertical 109
MDX
110
MDX
Measures : Unit Price, Quantity, Discount,
SalesAmount, Freight
Dimension : Time
hierarchy : Year > Quarter > Month > with members :
Year: 2010, 2011, 2012, 2013, 2014
Quarter: Q1, Q2, Q3, Q4
Month: January, February, March, …
Dimension : Customer
•hierarchy : Continent > Country > State > City with members
City: Paris, Lyon, Berlin, Köln, Marseille, Nantes State: Torino
Country: Austria, Belgium, Danmark, France, ... 111
112
MDX
3 catégories d’opérations élémentaires :
Restructuration : concerne la représentation, permet un changement de
points de vue selon différentes dimensions : opérations liées à la structure,
manipulation et visualisation du cube :
1.Rotate/pivot
2.Switch
3.Split, nest, push, pull
Granularité : concerne un changement de niveau de détail : opérations
liées au niveau de granularité des données :
1.roll-up,
2.drill-down
Ensembliste : concerne l’extraction et l’OLTP classique :
1.slice, dice
2.selection, projection et jointure (drill-across) 113
MDX
Syntaxe générale d’une requête MDX (forme de Backus-
Naur):
SELECT [<specification d’un axe>
[, <spécification d’un axe>...]] FROM [<spécification d’un cube>]
[WHERE [<spécification d’un filtre (slicer)>]]
Parenthèses en MDX :
{ } : Ensemble des éléments servant à la création d’une
dimension du résultat de la requête
( ) : Sélection de tuples dans la clause WHERE
[ ] : Représentation d’espaces, de caractères spéciaux et
d‘interprétation non numérique de chiffres.
114
MDX
SELECT - description des axes du cube résultat
Chaque dimension du résultat :
est associée à un rôle correspondant à sa représentation
dans le tableau retourné par la requête MDX :
Ex : ON COLUMNS, ON ROWS, ON PAGES, ON SECTIONS,
ON CHAPTERS
dimension »
MDX
En MDX les mesures sont des éléments d’une dimension
spéciale nommée « Measures » (ces mesures peuvent
être utilisées aussi dans les clauses WHERE et FROM).
Les dimensions des axes dans la clause SELECT
Si le cube est vu comme une structure à n dimensions, cette clause
spécifie les arêtes du cube a retourner. La structure de base de la
clause SELECT est :
SELECT set ON axis_name,
set ON axis_name,
set ON axis_name
où axis_name peut être COLUMNS ou ROWS
117
MDX
Les filtres (Slicers) dans la clause WHERE
Les dimensions de filtrage contiennent les seuls membres avec lesquels
le cube est filtré ou « sliced »
Le contenu des axes :
Un membre (Member) = est un item dans une dimension et
correspond à un élément spécifique de donnée :
[Time].[2012]
[Customers].[All Customers].[Mexico].[Mexico]
[Product].[All Products].[Drink]
Un tuple = une collection de membres de différentes dimensions :
([Time].[2012], [Product].[All Products].[Drink])
(2012, Drink)
(2012, [Customers].[All Customers].[Mexico].[Mexico])
Un set = une collection de tuples : 118