Anda di halaman 1dari 36

Bases de Donnes OLAP

Hiver 2013/2014

Melanie Herschel
melanie.herschel@lri.fr
Universit Paris Sud, Groupe Bases de Donnes, LRI

Systmes Oprationnels vs. Entrepts de Donnes


Requtes
Requtes
Requtes transactionnelles
BD
INSERT, UPDATE, DELETE, SELECT
oprationnelles Requtes portant sur quelques tuples

Optimisation de requtes classique

UPDATE
SET
WHERE
AND

Order
amount = amount + 1
OrderID = 1
BookID = 204

Jahr

Requtes analytiques
Entrept de Bulk-Insert et SELECT
donnes
Requtes typiques (drill down, slice, dice, ...)
Techniques doptimisation de requtes spcialises

2007
2006

Region

2005
2004

...
North America
Asia
Europe

2003
2002
Books CDs DVDs ...

Produktgruppe

2
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Donn un Modle Multidimensionnel


Exemple dun modle multidimensionnel (cube et hirarchies dimensionnelles)

hirarchies
dimensionnelles

Cube
(granularit la plus fine)

Temps

Produit
BlueRay

...

...

...

...

ma

jan

romans

...

av

enfants

...

rs

sciences

...

ma

CD

fev
.

DVD

Lieu
...

Berlin

Lyon
Paris
Stuttgart

Produit

anne

type

trimestre

Lieu

catgorie

mois

ville

Temps
3

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Objectif: Rpondre des Requtes Analytiques


Rappel: Le DW intgre des donnes pour obtenir une vue densemble
des processus dentreprise faisant lobjet danalyses.
Contrairement aux requtes sur des donnes relationnelles classiques,
les requtes analytiques suivent souvent un mme schma.
On distingue ainsi entre des requtes OLTP (Online Transaction
Processing) poses des systmes oprationnels et des requtes
OLAP (Online Analytical Processing) poses des entrepts de
donnes.

4
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Exemples de Requtes OLAP


Navigation dans un cube
Nombre de livres denfants vendu en janvier, indpendamment du lieu
Navigation travers les niveaux de diffrente granularit
CD par type de produit (musique, film, ...) par trimestre et ville
Navigation travers plusieurs cubes corrls
Ventes totales en magasin et en ligne, partant de deux cubes (Produit/
Temps/Lieu) et(Produit/Temps/Client).
Requtes de ranking
Les 10 livres les plus populaires en 2009 par pays.
Dans ce chapitre, nous allons discuter les schmas typiques de
requtes OLAP et les langages dvelopps afin de les spcifier.

5
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Chapitre 4
Requtes OLAP
Oprateurs OLAP
Dans un cube
Sur plusieurs cubes
Extensions SQL
MDX

Hypothses

Nous admettons dans cette premire partie du chapitre quil nexiste quun
seul cube dans lentrept de donnes (plus prcisment dans sa BD
dispositive).
Pour une reprsentation simplifie, nous montrons uniquement des cubes
trois dimensions maximum. Les concepts prsents sappliquent nanmoins
des cubes de dimensionnalit quelle conque.
Pour une reprsentation simplifie, nous nutilisons quune seule mesure. En
gnral, un nombre de mesures plus lev peut exister.

7
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Vue dEnsemble des Requtes OLAP


Les requtes abordes dans cette partie du chapitre permettent la
navigation dans le modle multidimensionnel (MDDM multi-dimensional
data model).
Roll-up / Consolidate: naviguer vers une granularit plus grossire
Drill-down: naviguer vers une granularit plus fine
Drill-out / Split: ajouter une ou plusieurs dimension
Drill-in / Merge: rduire le cube dune ou de plusieurs dimensions
Slice: slectionner des donnes en appliquant un critre de slection
une dimension.
Dice: slectionner des donnes en appliquant une slection plusieurs
dimensions.
8
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Roll-Up
Dfinition
Roll-Up (aussi: consolidate)
Soit un cube n dimensions C = (DS, M) = ({D1, ..., Dn}, {M1, ..., Mp}) ayant pour granularit des
dimensions G = {l1, l2, ...,ln}, o le niveau li du schma {D1, ..., Dm, TopD; } appartient la dimension
Di,1 li m+1.
Une opration roll-up (nomme galement consolidate) navigue dun ensemble DSup DS vers une
granularit plus grossire, c.a.d.
Di DSup, Dj DS, i = j, j < m + 1: lj < li m+1
et
Di DSup, Dj DS, i = j: li = lj

Un roll-up correspond donc un zoom-out du cube actuel, ce qui entraine un rsultat de


granularit rduite.
Par exemple roll-up du cube (catgorie/ mois/ ville) vers(type/ mois/ ville).
Cette opration peut porter sur une ou plusieurs dimensions la fois
Par exemple roll-up du cube (catgorie / mois / ville) vers (type/ trimestre/ ville).
Il est galement possible de naviguer vers la racine TopD dune ou de plusieurs dimensions.
Applique toutes les dimensions, cette opration rsulte en un cube nayant plus quun
seul fait.

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Roll-Up
Exemple- Roll-up dune seule dimension
Roll-up dune seule dimension

Produit
(catgorie)
2

...
...

CD

...

...

...

...

...

ma

Roll-Up de la dimension Produit:


(catgorie/ mois/ ville)
(type/ mois / ville)

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)

Produit
(type)

Lieu
(ville)
...

mdias

Lyon
Paris
Stuttgart
Berlin

...

r
av

ma

livres

jan
.

romans

av
r

enfants

jan

sciences

fev
.
ma
rs

DVD

fev
.
ma
rs

BlueRay

Temps
(mois)
10

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Roll-Up
Exemple- Roll-up de plusieurs dimensions
Roll-up de plusieurs dimensions

Produit
(catgorie)
BlueRay

...

...

CD

...

...

...

...

...

jan
.

romans

ma

enfants

av

sciences

fev
.
ma
rs

DVD

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)

Roll-Up des dimensions Produit


et Temps:
(catgorie / mois / ville)
(type/ trimestre / ville)

Produit
(type)

Lieu
(ville)
...

Medien

Lyon
Paris
Stuttgart
Berlin

Q2

Q1

Bcher

Temps
(trimestre)
11

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Roll-Up
Exemple- Roll-up vers la racine de toutes les dimensionen
Roll-up vers la racine de toutes les dimensions

Produit
(catgorie)
BlueRay

...
...

CD

...

...

...

...

...

ma

av
r

romans

ma

enfants

jan

sciences

rs

fev
.

DVD

Roll-Up vers la racine de


toutes les dimensions:
(catgorie/ mois / ville)
(Produit / Temps / Lieu)

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)

Produit
(Produit)

Produit

Lieu
(Lieu)

Lieu
Temps

Temps
(Temps)
12

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Roll-Up
Valeurs de Mesures
Rappel:
Une mesure appartient un fait, et ce fait possde une certaine granularit.
Deux proprits dune mesure:
Valeur numrique
Fonction pouvant driver la mesure partir dautres mesures.
Lors dune opration roll-up, nous passons dune granularit G1 des faits vers une
granularit plus grossire des faits, dnote G2.
La fonction dfinie pour les faits de granularit G2 (si celle-ci est dfinie) est utilise pour
calculer la valeur de la mesure de granularit G2.
Cependant, il faut prendre en compte la proprit de ladditivit de la mesure (additive,
semi-additive ou non-additive).
Dans le cas dune mesure semi-additive ou non-additive, il se peut que la valeur de la
mesure ne soit calculable qu partir des mesures des donnes plus fine granularit
(de toutes les dimensions).
13
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Roll-Up
Valeurs de mesures
Drivez les valeurs des mesures du rsultat de lopration roll-up reprsente ci-dessous (en utilisant les
valeurs montres uniquement)

Produit
(catgorie)
2

...

...

CD

...

...

...

...

...

ma

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)

Produit
(type)

Lieu
(ville)
...

mdias
Medien

Lyon
Paris
Stuttgart
Berlin

Bcher
livres

Q1

romans

av
r

enfants

jan

sciences

fev
.
ma
rs

DVD

Roll-up des dimensions


Produit et Temps:
(catgorie / mois / ville)
(type/ trimestre / ville)

Q2

BlueRay

Temps
(trimestre)
14

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Drill-Down
Drill-down est lopration inverse de Roll-Up.
Rend possible la navigation dune granularit donne vers une granularit plus fine
pour une ou plusieurs dimensions (zoom-in).
Par exemple de (type / trimestre / ville) vers (catgorie / mois / ville).
Drill-down
Soit un cube n dimensions C = (DS, M) = ({D1, ..., Dn}, {M1, ..., Mp}) ayant les granularits G
= {l1, l2, ...,ln}, o li correspond au niveau du schma {D1, ..., Dm, TopD; } de la dimension Di,
1 li m+1.
Une opration drill-down navigue, pour un ensemble de dimensions DSDOWN DS vers une
granularit plus fine, c.a.d.
Di DSDOWN, Dj DS, i = j: li < lj
et
Di DSDOWN, Dj DS, i = j: li = lj
15
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Drill-Down
Exemple - Drill-down de plusieurs dimensions
Drill-down de plusieurs dimensions

Produit
(type)

Lieu
(ville)
...

Medien

Lyon
Paris
Stuttgart
Berlin

Produit
(catgorie)
BlueRay

...

...

CD

...

...

...

...

enfants

jan

romans

...

sciences

DVD

fev
.
ma
rs

Drill-Down des dimensions


Produit et Temps:
(type/ trimestre / ville)
(catgorie / mois / ville)

ma

Temps
(trimestre)

av
r

Q2

Q1

Bcher

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)
16

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Rcapitulatif Roll-Up / Drill-Down


Oprateurs servant naviguer entre diffrentes granularits dune ou de
plusieurs dimensions.
Roll-up: moins de dtails
Drill-down: plus de dtails
Dtermination des mesures (lorsque le cube rsultat nest pas matrialis):
Roll-Up: possibilit de calcul partir du cube dentre.
Drill-down: utilisation des mesures des faits de plus fine granularit (et qui
sont matrialiss).
Dans le deux cas, le nombre de dimensions du cube reste inchange,
c.a.d. lapplication dun roll-up / drill-down sur un cube n-dimensionnel
rsulte en un cube n-dimensionnel.
Exception: navigation vers / depuis la racine dau moins une dimension.
17
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Drill-Out / Split
Lors dun drill-out (aussi nomm split) un cube n dimensions est
complt par k dimensions de granularit plus fine que TopD,
o k >= 1.
Le rsultat est un cube (n+k) dimensions
Comme drill-down, drill-out navigue vers des donnes plus
dtailles.
Contrairement drill-down, le dtail nest pas augment par
laugmentation de la granularit dune dimension existante, mais par
lajout de nouvelles informations dune nouvelle dimension.

18
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Drill-Out / Split

Drill-out dun cube une dimension (catgorie) vers un cube 2D (catgorie / trimestre)

Produit
(catgorie)
BlueRay

10

10

DVD

10

15

10

CD

10

enfants

romans

10

20

10

10

DVD

40

CD

20

sciences

15

sciences

enfants

20

romans

50

Q1

30

Q4

BlueRay

Q3

Drill-out de la
dimension temps
(trimestre)

Q2

Produit
(catgorie)

Temps
(trimestre)

19
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Drill-In / Merge
Opration inverse de drill-out.
Un drill-in (nomm galement merge) efface k dimensions dun
cube n-dimensionnel, o k < n.
Le rsultat est un cube (n-k) dimensions.
Comme pour roll-up, les donnes rsultant dun drill-in sont moins
dtailles que les donnes dentre de lopration.
Contrairement au roll-up, le degr de dtail nest pas rduit par
rduction de la granularit, mais par l'limination de dimensions.

20
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Drill-In / Merge

Drill-in du cube 2D (catgorie / trimestre) vers le cube une dimension (catgorie)


Produit
(catgorie)
BlueRay

Produit
(catgorie)

DVD

10

15

10

CD

sciences

enfants

romans

10

20

20

10

Q4

10

Q3

10

Q2

Q1

Drill-in de la dimension
Temps

BlueRay

30

DVD

40

CD

14

sciences

15

enfants

20

romans

60

Temps
(trimestre)

21
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Slice
Permet lobtention dun extrait des informations reprsentes par un cube
en fonction des termes dfinis pour une dimension.
Le paramtre de loprateur slice est un critre de slection (range query,
point query) portant sur une dimension.
Critre de slection avec AND, OR et NOT.
Par exemple (mois > fev.) AND (mois <= nov.) AND (mois NOT avr)
Critre de slection sur un ou plusieurs niveaux dune mme dimension
Par exemple pays = DE AND code_postal= 10179
Notation Slice(p, D): slectionne les tranches le long de la dimension D,
qui satisfont le critre de slection p.

22
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Slice
Slice avec critre de slection simple (mois = fev.)

Produit
(catgorie)

...

CD

...

sciences

...

...

...

jan

romans

av

enfants

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)

Produit
(catgorie)
BlueRay

Slice(mois = fev., Temps)

...

DVD

...

CD

...

sciences

...

...

...

enfants

jan

romans

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

...

...

ma
i

fev
.
ma
rs

DVD

...

ma
i

av

fev
.
ma
rs

BlueRay

Temps
(mois)
23

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Slice
Slice avec critre de slection contenant une disjonction (mois = fev. OR mois = avr)

Produit
(catgorie)

...

CD

...

sciences

...

...

...
...

ma

jan
.

romans

av

enfants

...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)

Produit
(catgorie)
BlueRay

...

DVD

...

CD

...

sciences

...

...

...

enfants
romans

jan
.

Slice(mois = fev.
OR mois = avr,
Temps)

Lieu
(ville)

...

fev
.
ma
rs

DVD

ma

...

av

fev
.
ma
rs

BlueRay

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)
24

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Slice
Slice portant sur la dimension Temps, qui se compose de deux hirarchies
Temps

Produit
(catgorie)

...

CD

...

sciences

...

...

...

jan

romans

av

enfants

trimestre
mois

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)

Slice(

Produit
(catgorie)
BlueRay

...

DVD

...

CD

...

sciences

...

...

...

enfants
romans

jan

anne= 2011
AND (trimestre = Q1
OR trimestre_bilan = Q2)
, Temps)

jours

...

...

ma
i

fev
.
ma
rs

DVD

trimestre_bilan

...

ma
i

av

anne

fev
.
ma
rs

BlueRay

anne bilan

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)
25

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Dice
Application de loprateur slice plusieurs dimensions
Par exemple slice(mois = jan, Temps) AND slice(ville = Berlin, Lieu)
Slice ne peut produire que des tranches du cube, du fait quune slection
nest possible que sur une dimension.
Dice peut produire des sous-cubes arbitraires.

26
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Dice
Dice appliqu deux dimensions

Produit
(catgorie)

...

CD

...

sciences

...

...

...

jan

romans

av

enfants

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Produit
(catgorie)

Temps
(mois)

BlueRay

Slice(mois = avril, Temps)


AND
Slice(ville = Berlin, Lieu)

...

DVD

...

CD

...

sciences

...

...

...

enfants

jan

romans

...

...

ma
i

fev
.
ma
rs

DVD

...

ma
i

av

fev
.
ma
rs

BlueRay

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)
27

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Dice
Dice appliqu trois dimensions

Produit
(catgorie)

...

CD

...

sciences

...

...

...
...

ma

jan
.

romans

av

enfants

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)

Slice(trimestre= Q1 OR month = avr., Temps)


AND
Slice(type = mdias, Produit)
AND
Slice(ville= Berlin OR ville = Stuttgart, Lieu)

Produit
(catgorie)
BlueRay

...

DVD

...

CD

...

sciences

...

...

...

enfants
romans

...

ma

fev
.
ma
rs

DVD

...

av

fev
.
ma
rs

jan
.

BlueRay

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)
28

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Chapitre 4
Requtes OLAP
Oprateurs OLAP
Dans un cube
Sur plusieurs cubes
Extensions SQL
MDX

29

Cubes Corrls
Jusqu prsent, nous avons considr des oprateurs appliqus un seul
cube.
Dans un DW sont typiquement stocks plusieurs cubes, par exemple:
Un cube ayant les dimensions (Temps, Produit, Lieu) stockant le nombre
de ventes par priode, produit et magasin;
Un cube ayant les dimensions (Temps, Produit, Client) stockant le nombre
de ventes en ligne par client et par priode.
Pourquoi pas un cube (Temps, Produit, Lieu, Client)?

30
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Cubes Corrls
Des cubes corrls se partagent une ou plusieurs dimensions
concordantes.
Dimensions concordantes
Deux dimensions D et D sont concordantes si, pour leurs domaines de valeurs, ilest vrai que
dom(D) dom(D) ou dom(D) dom(D).
Exemples de dimensions concordantes et non-concordantes

concordantes
produits

produits
livres

livres

mdias

enfants romans

mdias
CD

DVD enfants romans sciences

CD

produits
livres

mdias

DVD

non-concordantes
produits

produits
livres

livres

mdias

enfants romans

CD

sciences

DVD

mdias

romans

CD

DVD

31

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Cubes corrls
Cubes corrls
Deux cubes DC = (DS, M) et DC = (DS, M) sont corrls, si au moins une paire de
dimensions (Di, Dj), avec Di DS, Dj DS est concordante.
Soit CD lensemble de toutes les paires
{(Di, Dj) | Di DS, Dj DS, Di concordante avec Dj}.
Exemple de deux cubes corrls ayant CD = {(Produit, Produit), (Temps, Temps)}

Produit
(catgorie)

Produit
(catgorie)

...

...

...

sciences

...

...

...
...

ma

av
r

romans

jan

enfants

.
fev
.
ma
rs

DVD
CD

Lieu
(ville)
...

Lyon
Paris
Stuttgart
Berlin

Temps
(mois)

Stock

sciences

...

enfants

Lyon
Paris
Stuttgart
Berlin

romans

fFeev
.b.
Ma
m
rrsz
Aapvr
ril
m
Maai
i
...

Jjaan
n.

BlueRay

Zeit
(Monat)
32

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Drill-Across
Drill-across est appliqu plusieurs cubes corrls.
Il sert combiner les mesures des faits de diffrents cuber corrls pour effectuer
une analyse plus globale.
Hypothse: la combinaison des mesures est raisonnable!
On peut par exemple dterminer les produits les plus populaires (nombres de
ventes les plus levs) en faisant la somme des mesures des deux cubes
corrls (Temps, Produit, Lieu) et (Temps, Produit, Client).
Le cube produit par une opration drill-across applique aux cubes DC = (DS, M)
et DC = (DS, M) consiste en
Lensemble des dimensions concordantes avec le moins de dtails
{Di | (Di, Dj) CD AND Di Dj} (voir transparent 32 pour la dfinition de CD)
Lensemble des mesures M M ou des mesures drives.
33
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Drill-Across
Drill-across exemple 1: Ventes totales (en magasin + en ligne) de produits par priode
Produit
(catgorie)
BlueRay
DVD
Lieu
(ville)

CD
sciences

BlueRay

...

enfants

Lyon
Paris
Stuttgart
Berlin

jan
fev
ma
rs
av
ril
ma
i
...

romans

Produit
(catgorie)

DVD
CD

Temps
(mois)

sciences
enfants

Produit
(catgorie)

CD

Client

sciences

Platin

enfants

Gold
Silver
Standard
Nouveau

av
r
ma
i
...

fev
ma
rs

jan

romans

Temps
(mois)

ma
i
...

rs

av
r

DVD

ma

jan

BlueRay

fev

romans
Temps
(mois)

Calcul des mesures:


ventes(m,k) =
si ville ventes(m,k,si) +
ki client ventes (m,k,ki)

34
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Drill-Across
Drill-across exemple 2: Pour quels produit le stock est toujours suprieur 60% du nombre de ventes du mme
produit?

ventes
Produit
(catgorie)
BlueRay
DVD
Lieu
(ville)

CD
sciences

...

enfants

Lyon
Paris
Stuttgart
Berlin

Produit
(catgorie)

jan
fev
ma
rs
av
ril
ma
i
...

romans

Temps
(mois)

stock
stock

sciences
enfants

jaJann.
fFeevb.
M
mar
rsz
aAvpr
ril il
mMaa
ii
...

romans

...

Lyon
Paris
Stuttgart
Berlin
Temps
(mois)
35
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Oprations OLAP
Les oprations OLAP vu jusquici sappliquent des cubes multidimensionnels
Navigation dans une hirarchie: roll-up, drill-down
Extension / rduction de la dimensionnalit: split / merge
Slection: slice, dice
Combinaison de deux cubes: drill-across
Dautres requtes analytique appartenant aux oprations OLAP:
Calcul de moyenne glissante
Analyse portant sur des sries chronologiques
Comparaison relative de valeurs
36
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Langages Implmentant des Oprations OLAP


En gnral
Mise disposition des oprations requises
Langages dclaratifs
Pas de requtes SQL embriques , mois verbose que le standard SQL
Deux approches
Extensions SQL:
Requtes portant sur des donnes relationnelles stockes en schma en
toile ou en schma en flocon.
Multidimensional Expressions (MDX):
Sapplique directement sur un modle multidimensionnel (cubes,
dimensions, faits, ...)
37
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Chapitre 4
Requtes OLAP
Oprateurs OLAP
Dans un cube
Sur plusieurs cubes
Extensions SQL
MDX

38

SQL et OLAP
Traduction dun modle multidimensionnel en un schma en toile ou en
flocon
Oprations avec SQL-92
Slice / dice: jointures et slections
drill-down: jointures et projections
Agrgation dun niveau: GROUP BY
Extensions OLAP de SQL

Groupement multiple dans ce cours


Fonctions analytiques en TD
En principe possible en SQL-92, mais difficile exprimer et traitement
de requte inefficace.
39

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Exemple
Exemple dun schma en toile

Produit

Produit

type

romans

livres

enfants

livres

sciences

livres

CD

mdias

DVD

mdias

BlueRay

mdias

BlueRay
DVD
CD
enfants
romans

Faits
Temps
ZID mois

trimestre annee

PID

ZTD

LID

#Ventes

CD

30

Jan10 Q1 2010

2010

37

Fev10 Q1 2010

2010

45

...

20

33

... ...

...

Lieu

Lieu

sciences

jan
fev
ma
rs
av
ril
ma
i
...

PID categorie

35

LID

ville

40

Berlin

35

Stuttgart

...

...

...

...

...

Paris

22

Lyon

...

...

...

...

...

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

...

ParisLyon
Berlin Stuttgart

Temps

40

Groupement Multiple
Rappel de GROUP BY
GROUP BY <att1>, <att2>, ..., <attn> forme des partitions des
donnes considres par la requte en fonction des valeurs des attributs
att1 attn.
Si GROUP BY est utilis, peuvent apparaitre dans la clause SELECT (i) les
attributs att1 attn plus (ii) des valeurs agrges dautres attributs.
Agrgation avec les fonctions SUM, COUNT, AVG, MIN, MAX
Exemple dune requte GROUP-BY - Total du chiffre daffaire CD de livres par anne, trimestre
et mois?

SELECT
FROM
WHERE
AND
AND
GROUP BY

annee, trimestre, mois, SUM(CD)


Faits F, Temps T, Produit P
P.PID = F.PID
T.TID = F.TID
P.type = livres
annee, trimestre, mois

Somme uniquement par mois


(association dun mois avec
trimestre et anne correspondant)
Pas de total de ventes par trimestre
ou anne
41

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement multiple
Exemple dune requte GROUP-BY - Total du chiffre daffaire CD de livres par anne, trimestre et mois?

SELECT
FROM
WHERE
AND
AND
GROUP BY
UNION
SELECT
FROM
WHERE
AND
AND
GROUP BY
UNION
SELECT
FROM
WHERE
AND
AND
GROUP BY

mois AS Time, SUM(CD) AS total_CD


Faits F, Temps T, Produit P
P.PID = F.PID
T.TID = F.TID
P.type = livres
mois
trimestre AS Time, SUM(CD) AS total_CD
Faits F, Temps T, Produit P
P.PID = F.PID
T.TID = F.TID
P.type = livres
trimestre
annee AS Time, SUM(CD) AS total_CD
Faits F, Temps T, Produit P
P.PID = F.PID
T.TID = F.TID
P.type = livres
annee

mois

trimestres

annes

Time

total_CD

jan 2010

150

fev 2010

300

...

...

dec 2010

400

jan 2011

300

...

...

Q1 2010

500

...

...

Q4 2011

800

2010

2000

2011

2300

42
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Rsultat dsir -Total du CD par anne,
trimestre et mois

Exemple 2: CD de 2010 par (i) trimestre et


type de produit et (ii) par trimestre et lieu.

annee trimestre mois

CD

trimestre type

2010

Q1

jan

150

Q1 2010

livres

50

2010

Q1

fev

300

...

livres

...

2010

Q1

mars

50

Q4 2010

livres

70

...

...

...

...

Q1 2010

mdias

40

2011

Q1

jan

300

...

mdias

...

...

...

...

...

Q4 2010

mdias

60

2010

Q1

...

...

2011

Q4

lieu

CD

500

Q1 2010

Berlin

60

...

...

...

Berlin

...

800

Q4 2010

Berlin

50

2010

2000

Q1 2010

Stuttgart 20

2011

2300

...

...

Utilisation dune hirarchie de


dimension en SQL?

...

Agrgation pour plusieurs


combinaisons de dimensions en SQL?
43

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Extensions SQL supportant le groupement multiple en une seule
requte:
GROUPING SETS - Spcification explicite des combinaisons
dattributs de groupement
CUBE - groupement multidimensionnel
Gnre toutes les combinaisons possibles des attributs spcifis
en paramtres
ROLLUP - groupement hirarchique et multidimensionnel
Combinaisons de ces clauses avec les clauses SQL connues
(GROUP BY, HAVING, CASE, ...)
44
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Grouping Sets
Grouping Sets

...
GROUP BY GROUPING SETS ((<set1_a1>, ..., <set1_am>),
(<set2_a1>, ..., <set2_an>),
...)

Spcification explicite du groupement dsir


Chaque squence dattributs(<seti_a1>, ... ) dcrit un groupe
dsir

Equivalent multiples requtes GROUP BY unifies et dont les attributs


non-commun sont combls avec des valeurs NULL ().
Il est possible didentifier les attributs en fonction desquels le
groupement dun tuple est effectu en utilisant la fonction GROUPING():
GROUPING(<attr>) = 0 si groupement par <attr>, sinon 1.

45

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Grouping Sets
Exemple 2: CD de 2010 par (i) trimestre et
type de produit et (ii) par trimestre et lieu.
trimestre type

lieu

CD

Exemple 2 en SQL en utilisant grouping sets

SELECT

trimestre,
type,
lieu,
SUM(CD)AS CD

FROM

Faits F,
Temps T, Produit P, Lieu L

Q1 2010

livres

50

...

livres

...

Q4 2010

livres

70

Q1 2010

mdias

40

...

mdias

...

WHERE

P.PID = F.PID

Q4 2010

mdias

60

AND

T.TID = F.TID

Q1 2010

Berlin

60

AND

L.LID = F.LID

...

Berlin

...

AND

T.annee = 2010

Q4 2010

Berlin

50

Q1 2010

Stuttgart 20

...

...

...

GROUP BY GROUPING SETS (


(trimestre, type),
(trimestre, lieu)
)
46

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Grouping Sets
Exemple 2 avec identification des attributs de groupe
trimestre

type

Q1 2010

livres

...

...

lieu

CD

GQ

GT

GL

50

...

Q1 2010

Berlin

60

...

Berlin

...

Exemple 2 avec identification des attributs du groupe en SQL


SELECT

trimestre, type, lieu, SUM(CD) AS CD


GROUPING(trimestre) AS GQ, GROUPING(type) AS GT,
GROUPING(lieu) AS GL
FROM
...
WHERE
...
GROUP BY GROUPING SETS ((trimestre, type), (trimestre, lieu))

47
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Grouping Sets
Smantique de groupement de la clause GROUPING SETS
GROUP BY A, B GROUP BY GROUPING SETS ((A, B))
groupe (A, B)
GROUP BY GROUPING SETS ((A, B), (A, C), (A))

GROUP BY A, GROUPING SETS ((B), (C), ( ))


groupes (A) ( (B), (C), ( )) = (A, B), (A, C), (A)
GROUP BY GROUPING SETS ((A, B), (B, C)),
GROUPING SETS ((D, E), (D), ())
groupes ( (A, B), (B, C) ) ( (D, E), (D), ( ) )
= (A, B, D, E), (A, B, D), (A, B), (B, C, D, E), (B, C, D), (B, C)
48
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Grouping Sets
Spcifiez une requte SQL qui produit le rsultat suivant

type

annee

ville

#ventes

livres

livres

2010

Berlin

livres

2010

Stuttgart 20

mdias

mdias

2010

Berlin

mdias

2010

Stuttgart 10

50
30
40
30

Berlin

Stuttgart 30

80

49
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Groupement multidimensionnel
Groupement multidimensionnel en utilisant CUBE()

...
GROUP BY CUBE (<a1>, ..., <an>)

Forme lensemble des parties de lensemble spcifi en paramtre


par exemple, CUBE(A, B, C) forme les groupes (A, B, C), (A, B), (A,
C), (B, C), (A), (B), (C), ( ))
2n groupes au total
En combinaison avec une aggrgation, CUBE() est utilis pour calculer
les valeurs agrges de toutes les combinaisons.

50
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Groupement multidimensionnel
CD par (toutes les combinaisons de) trimestre, type de produit et lieu en 2010
trimestre

type

lieu

total_CD

Q1 2010

livres Berlin

10

Q1 2010

livres Stuttgart

20

...

...

...

Q1 2010

livres

...

...

...

20

Code SQL livrant ce rsultat

...

SELECT

Q1 2010

Berlin

80

Q1 2010

Stuttgart

50

...

...

...

livres Berlin

50

livres Stuttgart

80

...

...

...

Q1 2010

160

...

...

livres

200

mdias

300

Berlin

200

Stuttgart

100

...

...

trimestre, type, lieu,


SUM(CD) AS total_CD
FROM
Faits F,
Temps T, Produit P, Lieu L
WHERE
P.PID = F.PID
AND
T.TID = F.TID
AND
L.LID = F.LID
AND
T.annee = 2010
GROUP BY CUBE (trimestre, type, lieu)

1000

51

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Groupement multidimensionnel
Smantique de groupement de loprateur CUBE
GROUP BY CUBE(A, B, C)

GROUP BY GROUPING SETS ((A,B,C), (A,B), (A,C),


(B,C), (A), (B), (C), ())
GROUP BY CUBE(A, B), CUBE(B, C)
groupes ( (A, B), (A), (B), ( ) ) ( (B, C), (B), (C), ( ))
= ( A, B, B, C ), (A, B, B), (A, B, C), (A, B),
(A, B, C), (A, B), (A, C), (A),
(B, B, C), (B, B), (B, C), (B),
(B, C), (B), (C), ( )
= (A, B, C), (A, B), (A, B, C), (A, B),
Duplicata de combinaisons
(A, B, C), (A, B), (A, C), (A),
(e.g., (A, B, C), (A, B), (B), ...)
(B, C), (B), (B, C), (B),
ne sont pas limines!
(B, C), (B), (C), ( )
GROUP BY GROUPING SETS(CUBE(A, B), CUBE(B,C))

GROUP BY GROUPING SETS ((A,B), (A), (B), (), (B,C), (B), (C), ())
52
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Groupement multidimensionnel
Spcification dune requte SQL utilisant loprateur CUBE

Ce tableur reprsente le nombre de DVDs vendus le premier trimestre 2010, agrg par les
diffrentes combinaisons de mois et de lieu. Spcifiz la requte SQL produisant ce rsultat.
jan

fev

mars

Total

Berlin

20

25

22

67

Stuttgart

10

15

17

42

Paris

30

25

30

85

Lyon

10

12

10

32

Total

70

77

79

226

53
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Groupement hirarchique multidimensionnel
Groupement multidimensionnel utilisant ROLLUP()

...
GROUP BY ROLLUP (<a1>, ..., <an>)

En SQL-92, on peut formuler une UNION de k sous-requtes pour aboutir


un groupement de k niveaux dune dimension (voir transparent 42).
Laborieux spcifier, traiter (k lectures de la table des faits) et ordre
dfavorable la prsentation (et tri difficile).
ROLLUP calcule une agrgation pour plusieurs niveaux dune hirarchie
en ordre orient favorable aux analyses.
Attributs <a1>, ..., <an> sont issue dun mme schma de
dimension et sont spcifis en ordre croissant de granularit.
54
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Groupement hirarchique multidimensionnel
CD de livres par anne, trimestre et mois.
annee trimestre mois

total_CD

2010

Q1

jan

150

2010

Q1

fev

300

2010

Q1

mars

50

...

...

...

...

2011

Q1

jan

300

...

...

...

...

2010

Q1

...

...

2011

Q4

...

500
...

800

2010

2000

2011

2300

4300

Requte SQL utilisant ROLLUP

SELECT

anne, trimestre, mois,


SUM(CD)AS total_CD
FROM
Faits F,
Temps T, Produit P
WHERE
P.PID = F.PID
AND
T.TID = F.TID
AND
P.type = livres
GROUP BY ROLLUP (annee, trimestre, mois)

55
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Groupement hirarchique multidimensionnel
Smantique de groupement de loprateur ROLLUP
GROUP BY ROLLUP(A1, A2, ..., An)

GROUP BY
GROUPING SETS ( (A1, ..., An-1, An), (A1, ..., An-1), ...,
(A1, A2), (A1), () )
ou sappliquent les dpendances fonctionnelles An An-1 ... A2 A1
GROUP BY ROLLUP(A1, ..., An), ROLLUP(B1, ..., Bm)
groupes ( (A1, ..., An), ..., (A1, A2), (A1), ( ) )

( (B1, ..., Bn), ..., (B1, B2), (B1), ( ) )

56
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Groupement Multiple
Groupement hirarchique multidimensionnel
Spcifiez une requte SQL utilisant ROLLUP

La requte SQL calcule le nombre de ventes en


dcembre de produits de type mdias regroup par
anne, mois, catgorie et ville.
Le rsultat est reprsent ci-contre.

anne mois

categorie ville

ventes

2010

dec

CD

200

2010

dec

DVD

150

2010

dec

BlueRay

50

2010

dec

400

2011

dec

450

2010

2000

2011

3000

5000

2010

Berlin

1000

2010

Stuttgart 300

2010

...

...

2011

Berlin

1500

2011

...

...

Berlin

4000

Stuttgart 2000

...

...
57

Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Chapitre 4
Requtes OLAP
Oprateurs OLAP
Dans un cube
Sur plusieurs cubes
Extensions SQL
MDX

58

MDX
MDX = Multidimensional Expressions:
Proposition de Microsoft OLE DB for OLAP
Langage de requte sappliquant sur le MDDM
Standard sans smantique fixe (dfinie par des exemples)
Concepts MDDM (dimensions, mesures) manipuls directement
Requtes plus compacte que les requtes SQL quivalentes
Syntaxe similaire SQL (mais smantique diffrente)
Langage trs complexe et puissant
Cration des objets manipuler (DDL) se fait par dautres moyens:
DSO Interface (Decision Support Objects) de SQL Server
Est utilis par beaucoup doutils commerciaux pour communiquer avec des BD
OLAP.
daprs [Ulf Leser, cours Data Warehouses und Data Mining, SS 2007]
59
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

MDX Principe de Base et Structure


Une requte MDX retourne un rapport plusieurs dimensions
par exemple un tableur 2D
par exemple plusieurs tableurs 2D pour reprsenter trois dimensions

La structure dune requte MDX est identique la structure des clauses


SELECT-FROM-WHERE en SQL
Mais la smantique est diffrente!
Structure gnrale dune requte MDX

SELECT
FROM
WHERE

<axis-spec1>, <axis-spec2>, ...


<cube-spec1>, <cube-spec2>, ...
( <selection-specification> )

60
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

MDX Principe de Base et Structure


Exemple simple dune requte MDX (cube & dimensions voir transparent 3)

SELECT

{ Berlin, Stuttgart } ON ROWS


{ [1er trimestre], [2nd trimestre].CHILDREN } ON COLUMNS
Aggregation de la mesure
(measure) ventes en utilisant
fonction prdefinie (e.g., SUM)

FROM

CubeVentes

WHERE

( Measures.Ventes,
Temps.[2010],
Produit.Produit )

Slection sur la dimension Temps


(uniquement la priode 2010)
Slection des produits, ici, le
niveau TopD est slectionn

1er trimestre 2010


Berlin

avril 2010

mai 2010

juin 2010

valeurs numriques

Stuttgart

61
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Parenthses et SELECT
Parenthses en MDX
{} - Ensemble des lments servant la cration dune dimension du rsultat
de la requte
[] - Reprsentation despaces, de caractres spciaux et dinterpretation non
numrique de chiffres.
() - Slection de tuples dans la clause WHERE
SELECT - description des axes du cube rsultat
Chaque dimension du rsultat est associ un rle correspondant sa
reprsentation dans le tableur retourn par la requte MDX
ON COLUMNS, ON ROWS, ON PAGES, ON SECTIONS, ON CHAPTERS
Une dimension du rsultat correspond une (slection sur une) dimension du
MDDM sur un ou plusieurs niveaux de la hirarchie.
{Berlin, Stuttgart} de la dimension Lieu, niveau Ville
{[1er trimestre], [2nd trimestre].CHILDREN} de la dimension
Temps, niveaux trimestre et mois.
62
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

FROM et WHERE
FROM - Spcification du cube
Ensemble de cubes tant ncessaire la cration du cube rsultat.
Si plusieurs cubes y sont spcifis, la simantique implique une jointure
multidimensionnelle. Dans ce cas, chaque paire de cubes doit possder
au moins une dimension concordante.
WHERE - Restriction
Restrictions appliques sur les cubes spcifis dans la clause FROM.
Spcification des restrictions par une liste de noeuds de la hirarchie
dune dimension nomme slicer-dimension.
Les mesures sont des lments normaux de la dimension spciale des
mesures nomme Measures (celli-ci peut tre utilise dans les clauses
WHERE et FROM).

63
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Expressions de Collections
Enumration de noeuds dune hirarchie dimensionnelle
Des noeuds individuels ne proviennent pas ncessairement du mme niveau
Par exemple, {romans, enfants, [mdias]} retourne des catgories et
un type de la dimension Produit.
Expressions donnant un ensemble de noeuds
CHILDREN: enfants dun noeud de la hirarchie
e.g.,[2nd trimestre].CHILDREN = {avril, mai, juin}
MEMBERS: noeuds dun niveau
e.g., Temps.Trimestre.MEMBERS = {[1er trimestre], ... , [4me trimestrel]}
PARENT: Parent dun noeud
e.g., romans.PARENT = {livres}
...

64
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Expressions de Collections
Emboitage de collections avec CROSSJOIN
Projection de deux dimensions en une seule
Smantique: produit Cartsien
Exemple CROSSJOIN

SELECT

FROM
WHERE

CROSSJOIN({Berlin, Stuttgart}
{kiosque, [grande surface]}) ON ROWS
{ 2010.CHILDREN } ON COLUMNS
CubeVentes
( Measures.Ventes, Temps.[2010], Produit.[mdias] )
1er trimestre
2010

kiosque
grande surface
kiosque
Stuttgart
grande surface

Berlin

2nd trimestre
2010

3me trimestre 4me trimestre


2010
2010

valeurs numriques (nombre de ventes de produits


de type mdias en 2010)
65
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Expressions de Collections
Slection relative par rapport la position dun noeud de linstance dune
dimension
LASTCHILD - dernier enfant dun noeud
e.g. livres.LASTCHILD = {sciences}
NEXTMEMBER - prochain voisin ( droite) au mme niveau
e.g. [1er trimestre 2010].NEXTMEMBER = {[2nd trimestre 2010]}
LEAD(x) - voisin distance x positive ( droite) au mme niveau
e.g. [novembre 2010].LEAD(2) = {[janvier 2011]}
[x]:[y] - Restriction du domaine entre x et y
e.g. [1992]:[2002] restreint la priode considrer aux annes 1992
2002.

66
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Expressions de Collections
Fonctions appliques au schma dune dimension exploitant lordre dfini de
cette structure.
LEVEL - identification du niveau schmatique
e.g. romans.LEVEL = {[catgorie]},
[mdias].LEVEL = {type}
LEVELS(x) - exploitation de la numrotation interne des niveaux du
schma de la dimension pour accder au niveau x
e.g. Temps.LEVELS(1) = {[anne]}

67
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Conditions de Production du Rsultat


Construction du cube rsultat en fonction de rsultats calculs par la requte.
Requtes top-k
TOPCOUNT
TOPRECENT
TOPSUM
Filtre
FILTER

68
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Conditions de Production du Rsultat


Exemple de la fonction TOPCOUNT

Totaux des ventes des cinq rgions franaises ayant vendu le plus en 2010 (Hypothse:
hirarchie Pays-Rgion-Ville)
SELECT

FROM
WHERE

{Measures.Ventes} ON COLUMNS
{TOPCOUNT(France.CHILDREN, 5, Measures.Ventes)}
ON ROWS
CubeVentes
( Measures.Ventes,[2010])

Exemple de la fonction Filter

Totaux des ventes de produits de type mdias des rgions dont le total des ventes de 2002
est suprieur celui de 2001. Ici, le total des ventes est retourn par trimestre de 2002.
SELECT

{FILTER(France.CHILDREN,
([2002], Ventes) > ([2001], Ventes) ) } ON COLUMNS
{trimestre.MEMBERS } ON ROWS

FROM

CubeVentes

WHERE

( Ventes, [2002], Produit.[mdias] )


69
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Evaluation Temporelle
Fonctions sur laxe du temps
PERIODSTODATE(k, d)
Tous les noeuds le la classe k jusqu' la date d
e.g., PERIODSTODATE(trimestre, [15/11/2002]) = 1/10/2002 - 15/11/2002
LASTPERIODS(k, d)
k derniers laps de temps prcdant la date d (k et d au mme niveau).
e.g., LASTPERIODS(3, [sept. 2002]) =
{[juin 2002], [juillet 2002], [aot 2002]}
PARALLELPERIOD(k, n, d)
e.g., PARALLELPERIOD([Anne], 3, [sept. 2002]) = {[sept. 1999]}

70
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Autres Fonctions
Autres fonctions
Covariance
Corrlation
Moyenne glissante
...

71
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Rcapitulatif
Oprations OLAP
Navigation dans les dimensions: Roll-Up, Drill-Down
Augmentation / rduction de la dimensionalit: Split / Merge
Selection: Slice, Dice
Combinaison de cubes corrls: Drill-Across
Langages OLAP
MDX - concepts du MDDM et de tableurs
Extensions SQL: GROUPING SETS, CUBE, ROLLUP

72
Bases de Donnes OLAP | Hiver 2013/14 | Melanie Herschel | Universit Paris Sud

Anda mungkin juga menyukai