TP Pentaho MDX
TP Pentaho MDX
TP Pentaho MDX
Informatique
Dcisionnelle
OLAP
:
Mondrian
et
Pentaho
PARTIE
1
:
Installer
et
lancer
Pentaho
sur
Mac
1. Tlcharger
la
version
libre
de
Pentaho
sur
:
http://sourceforge.net/projects/pentaho/files/Business%20Intelligence%20Server/
2. Extraire
le
fichier
biserver-ce-5.0.1-stable.zip
tlcharg.
3. En
utilisant
la
ligne
de
commandes,
se
situer
sur
le
rpertoire
cre
lors
de
lextraction
du
fichier
ZIP
et
lancer
le
script
:
./start-pentaho.sh
4. Vrifier
que
le
script
est
bien
excut
(sans
erreurs
de
Java).
5. Ouvrir
un
navigateur
internet
et
ouvrir
lURL
suivante
:
http://localhost:8080/Pentaho
6. Concernant
les
paramtres
de
lutilisateur,
lancez
la
session
de
Pentaho
en
tant
quAdministrateur
(User
name
:
Admin
;
Password
:
password).
7. Pour
arrter
Pentaho,
lancer
la
commande
:
./stop-pentaho.sh
Installer
et
lancer
Pentaho
sur
Windows
:
1. Tlcharger
la
version
libre
de
Pentaho
sur
:
http://sourceforge.net/projects/pentaho/files/Business%20Intelligence%20Server/
2. Extraire
le
fichier
biserver-ce-5.0.1-stable.zip
tlcharg.
3. En
utilisant
la
ligne
de
commandes,
se
situer
sur
le
rpertoire
cre
lors
de
lextraction
du
fichier
ZIP
et
aller
sur
:
tomcat\bin
et
lancer
la
commande
catalina.bat
version.
4. Si
la
commande
donne
comme
rsultat
la
version
de
Tomcat,
alors
tout
est
correct,
sinon,
vrifier
dans
les
variables
du
systme
de
Windows
les
valeurs
suivantes
(par
exemple)
:
JAVA_HOME=C:\Program
Files
(x86)\Java\jdk1.6.0_22
JRE_HOME=C:\Program
Files
(x86)\Java\jre1.6.0_22
5. Lancer
une
nouvelle
ligne
de
commandes
en
tant
que
administrateur.
Sur
le
mme
rpertoire
bin
de
tomcat
lancer
la
commande
:
service.bat
install
6. Pour
lancer
le
serveur
Tomcat,
sur
le
mme
rpertoire,
lancer
la
commande
tomcat6w.exe.
Une
fentre
devrait
apparatre.
Aller
sur
la
section
Java
et
dans
Java
Options,
ajouter
les
lignes
suivantes
:
-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000
-XX:+UseConcMarkSweepGC
-XX:+CMSPermGenSweepingEnabled
-XX:+CMSClassUnloadingEnabled
-XX:MaxPermSize=256m
-Xss1M
Ces
lignes
permettent,
entre
autres,
grer
la
mmoire
utilis
pour
la
machine
virtuel
Java
ainsi
que
de
grer
les
diffrentes
versions
du
JRE.
7. Sur
la
mme
fentre,
aller
sur
la
section
General
et
appuyez
sur
le
bouton
START
pour
dmarrer
Tomcat.
8. Pour
dmarrer
Pentaho,
lancer
le
script
:
start-pentaho.bat
Vrifier
que
le
script
est
bien
excut
(sans
erreurs
de
Java).
9. Ouvrir
un
navigateur
internet
et
ouvrir
lURL
suivante
:
http://localhost:8080/pentaho
10. Concernant
les
paramtres
de
lutilisateur,
lancez
la
session
de
Pentaho
en
tant
quAdministrateur
(User
name
:
Admin
;
Password
:
password).
11. Pour
arrter
Pentaho,
lancer
la
commande
:
stop-pentaho.sh
PARTIE
2
:
Interface
de
Pentaho
Aprs
tre
authentifi,
nous
allons
crer
un
JPivot
(librairie
conu
en
Java
pour
la
navigation
et
exploitation
des
informations
via
des
oprations
OLAP).
Deux
jeux
de
donnes
de
essai
sont
proposs
pour
Pentaho.
Dans
ce
TP,
nous
allons
utiliser
le
premier.
Une
fois
slectionne
le
Schma
et
le
Cube,
nous
accdons
linterface
de
manipulation
de
donnes
et
construction
de
requets
OLAP.
<?xml
version="1.0"?>
<Schema
name="SampleData">
<!--
Shared
dimensions
-->
<Dimension
name="Region">
<Hierarchy
hasAll="true"
allMemberName="All
Regions">
<Table
name="QUADRANT_ACTUALS"/>
<Level
name="Region"
column="REGION"
uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimension
name="Department">
<Hierarchy
hasAll="true"
allMemberName="All
Departments">
<Table
name="QUADRANT_ACTUALS"/>
<Level
name="Department"
column="DEPARTMENT"
uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimension
name="Positions">
<Hierarchy
hasAll="true"
allMemberName="All
Positions">
<Table
name="QUADRANT_ACTUALS"/>
<Level
name="Positions"
column="POSITIONTITLE"
uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Cube
name="Quadrant
Analysis">
<Table
name="QUADRANT_ACTUALS"/>
<DimensionUsage
name="Region"
source="Region"/>
<DimensionUsage
name="Department"
source="Department"
/>
<DimensionUsage
name="Positions"
source="Positions"
/>
<Measure
name="Actual"
column="ACTUAL"
aggregator="sum"
formatString="#,###.00"/>
<Measure
name="Budget"
column="BUDGET"
aggregator="sum"
formatString="#,###.00"/>
<Measure
name="Variance"
column="VARIANCE"
aggregator="sum"
formatString="#,###.00"/>
<!--
<CalculatedMember
name="Variance
Percent"
dimension="Measures"
formula="([Measures].[Variance]/[Measures].[Budget])*100"
/>
-->
</Cube>
</Schema>
QUESTIONS
:
1. Quels
tableaux
de
la
base
de
donnes
sont
utiliss
?
2. Quelles
sont
les
dimensions
et
quelles
colonnes
elles
reprsentent
?
3. Quelles
sont
les
indicateurs
proposs
dans
le
schma
prcdent
?
NOTE
:
Le
schma
prcdent
est
disponible
sur
la
section
Manage
Data
Sources
du
Home
.
PARTIE
4
:
Requtes
MDX
Comment
vous
avez
vu
dans
le
cours,
Pentaho
utilise
le
langage
MDX
(MultiDimensional
eXpresions)
dont
la
syntaxe
est
relativement
diffrente
celle
du
SQL
standard.
SELECT
FROM
WHERE
Pour
crire
et
lancer
nos
requtes
MDX
nous
allons
appeler
le
Plug-in
Editeur
MDX
dans
linterface
JPivot
de
Pentaho
:
Par
exemple,
pour
extraire
les
mesures
(indicateurs)
du
cube
Quadrant
Analyse
,
lancer
la
requte
ci-dessous
:
SELECT {[Measures].MEMBERS} ON COLUMNS
FROM [Quadrant Analysis]
Elle
est
quivalent
:
SELECT {AddCalculatedMembers([Measures].Members)} ON COLUMNS
FROM [Quadrant Analysis]
La
fonction
AddCalculatedMembers
permet
dagrger
les
valeurs
de
tous
les
indicateurs
du
cube
et
est
implicite.
PARTIE
5
:
Exercices.
1.
2.
3.
4.
5.
6.
7.
8.
9.
Solutions
:
Exercice
1
:
SELECT {[Measures].MEMBERS} ON COLUMNS,
{[Department].MEMBERS} ON ROWS
FROM [Quadrant Analysis]
Exercice
2
:
SELECT {[Measures].MEMBERS} ON COLUMNS,
{[Region].MEMBERS} ON ROWS
FROM [Quadrant Analysis]
WHERE ([Department].[Finance])
Exercice
3
:
SELECT {[Region].[Central], [Region].[Southern]} ON COLUMNS,
{[Department].[Sales], [Department].[Human Resource]} ON ROWS
FROM [Quadrant Analysis]
WHERE [Measures].[Budget]
Exercice
4
a
:
SELECT {[Region].CHILDREN} ON COLUMNS,
{[Department].[Sales], [Department].[Human Resource]} ON ROWS
FROM [Quadrant Analysis]
WHERE [Measures].[Budget]
Exercice
4
b
:
SELECT {[Region].[All Regions]} ON COLUMNS,
{[Department].[Sales], [Department].[Human Resource]} ON ROWS
FROM [Quadrant Analysis]
WHERE [Measures].[Budget]
Exercice
5
:
SELECT {[Department].CHILDREN} ON COLUMNS,
{[Region].CHILDREN} ON ROWS
FROM [Quadrant Analysis]
WHERE ([Measures].[Budget], [Positions].[Analyst Relations])
Exercice
6
:
Il
existe
des
Analystes
uniquement
dans
le
dpartement
de
Marketing
et
Communications
SELECT NON EMPTY({[Department].CHILDREN}) ON COLUMNS,
{[Region].CHILDREN} ON ROWS
FROM [Quadrant Analysis]
WHERE ([Measures].[Budget], [Positions].[Analyst Relations])
Exercice
7
:
SELECT NON EMPTY({[Department].CHILDREN}) ON COLUMNS,
ORDER ({[Region].CHILDREN}, [Measures].[Budget], ASC) ON ROWS
FROM [Quadrant Analysis]
WHERE ([Measures].[Budget], [Positions].[Analyst Relations])
Exercice
8
:
SELECT NON EMPTY({[Department].CHILDREN}) ON COLUMNS,
FILTER({[Region].CHILDREN}, ([Measures].[Budget],
[Positions].[Analyst Relations])
> 270000.00) ON ROWS
FROM [Quadrant Analysis]
WHERE ([Measures].[Budget], [Positions].[Analyst Relations])
Exercice
9
:
WITH MEMBER Measures.HalfVariance AS '([Measures].[Variance])/2'
SELECT {[Department].CHILDREN} ON COLUMNS,
{[Region].CHILDREN} ON ROWS
FROM [Quadrant Analysis]
WHERE ([Measures].[HalfVariance])