Les applications de BI - etsmtl.ca...Question • Quelles sont les étapes du cycle analytique en...

Preview:

Citation preview

MTI820 −Entrepôtsdedonnéesetintelligenced’affaires

LesapplicationsdeBI

1DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers

Lecycledevied’unprojetenBI• Diagrammedefluxdetravail:

2

Planificationdeprojet/programme

Définitiondes

besoinsd’affaires

Conceptiondel’architecturetechnique

Modélisationdesdonnées

Conceptiondesapplicationde

BI

Sélectionetinstallationdes

produits

Conceptionphysique

ConceptionetdéveloppementdusystèmeETL

Développementdesapplications

deBI

Déploiement

Croissance

Maintenance

Gestiondeprojet/programme

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers

ApplicationsBI

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 3

Source:Dresner Advisory Services(DAS),2012WisdomofCrowdsBusinessIntelligenceMarketStudy

Question• QuellessontlesétapesducycleanalytiqueenBI?

• QuelleestladifférenceentreleBIstratégique,tactiqueetopérationnel?

• QuelslesoutilslesplusappropriéspourcestypesdeBI?

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 4

CycleanalytiqueduBI

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 5

1- Surveillerlesactivités

2- Identifierdesexceptions

3- Déterminerlescauses

4- Modéliserlesalternatives

5- Agiretfairelesuividesrésultats

• Étapesducycle:

CycleanalytiqueduBI1. Surveiller lesactivités:– Question:« Quesepasse-t-il? »;– Ex:comparaisondesrésultatscourantsdel'entrepriseavecceux

delapériodeprécédenteouaveclepland'affaires;– Applicationstypiques:

• Tableauxdebord,scorecards,rapportsstandards,etc.

2. Identifierdesexceptions:– Questions:« Ya-t-il desproblèmes? Oùsontcesproblèmes?»;– Ex:analysedestendancesdeperformancepourdifférentes

régions,enregarddelaperformancemoyenne;– Applicationstypiques:

• Tableauxdebord,rapportsparamétrables,alertes,etc.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 6

CycleanalytiqueduBI3. Déterminer lescauses:– Question:« Pourquoileproblèmesurvient-il? »;– Ex:identifierlesrelationsetlesinteractionsentrelesvariables

ayantunimpactsurlecritèredeperformance;– Peutnécessiterl’acquisitiondesourcesadditionnelles de

données(ex:géographiques,démographiques, etc.);– Applicationstype:OLAP,foragededonnées,etc.

4. Modéliser lesalternatives:– Question:« Qu’adviendrait-ilauxrésultatssiunecertaine

décisionétaitprise? »;– Ex:prédirelesrevenusetletauxderétentiondesclientspourla

prochaineannéesitellepromotionétaitlancée;– Applicationstype:analyseprédictive,foragededonnées,etc.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 7

CycleanalytiqueduBI5. Agiretfairelesuividesrésultats:– Prendreladécisionlaplusprofitableàl’entreprise,selonles

scénariospréditsàl’étapeprécédente;– Mettreàjourlesobjectifsd’affairespourcorrespondreàceux

duscénariosélectionné;– Fairelesuividesrésultatsfutursenfonctiondecesnouveaux

objectifsd’affaires(étape1duprochaincycle).

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 8

Typesd’analysesenBI• BIstratégique:

– Analyselestendancesd’affairesselonunemétrique(ex:ventes);– Concernelesobjectifsàlong-termedel’entreprise;– S’appliquesurtoutauxanalystesd’affairesdel’entreprise;

• BItactique:– Fournitdesmétriquesdeperformance(ex:scorecards);– Concernelesobjectifsàcourt-termedel’entreprise;– S’appliquesurtoutauxgestionnairesetcadressupérieurs.

• BIopérationnel:– Fournitdusupportinformationnelauxpointsd’affairesde

l’entreprise (ex:supportàlaclientèle);– Concernel’étatopérationneldel’entreprise.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 9

Typesd’analysesenBI

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 10

Requêtesàaccèsdirect,reporting,datamining

Rapportsstandards

Applicationsanalytiques

Tableauxdebordsetscorecards

BIopérationnel

PortaildeBI

Typed'application

Accèsad-hoc

Accèsappui-boutons

Reportingopérationnel

Typed'utilisation Typed'analyse

Stratégique

Tactique

ComplexitédesapplicationsBI• Complexitéetutilisation:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 11

Questions• Pourquoilaconceptiond’applicationsdeBIest-elle

importante?

• Quelssontlescritèresàconsidérerlorsdelaconceptiond’applicationsBI?

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 12

Conceptiond’applicationsBI• Importance:

– Laplupartdesutilisateursfinauxnevoitquecettepartiedel'entrepôtdedonnées;

• Critèresdeconception:– Validité:lesapplicationsdoiventfournirdel'informationcorrecte

etpréciseauxutilisateurs;

– Performance:ledélaideréponseauxrequêtesdesutilisateursdoitêtrecourt(ex:moinsde5secondes);

– Convivialité:lesutilisateursmoinsexpérimentésdoiventpouvoirutiliserlesystème(ex:rapporten10clicsoumoins);

– Apparence:l'interfacedesoutilsetrapportsdoitêtreattirant;

– Maintenabilité:lesapplicationsdoiventêtresuffisammentdocumentéesetunpland'améliorationdoitêtreenplace.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 13

Questions• Quellessontlesprincipalescaractéristiquesdes

applicationsBIsuivantes:– Requêtesad-hoc;– Analysemulti-dimensionnelle (OLAP);– Reporting;– Tableauxdebord;– Scorecards;

• Àquelsbesoinsrépondentcesdifférentesapplications?

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 14

Requêtesad-hoc• Gestiondesrequêtes:

– Définitiondesrequêtes:• Traduirelesbesoinsd’affairesdanslasyntaxederequête(ex:SQL,MDX,etc.).

– Simplificationdesrequêtes:• Rendrelacomplexitédesdonnéestransparenteauxutilisateurs(ex:définitiondevues).

– Réécrituredesrequêtes:• Transformerlesrequêtespourtenircomptedel’emplacementdesdonnées(ex:BDdifférentes),etoptimisercelles-cipouraccélérerleurexécution.

• Utiliserlestablesdefaitsagrégéeslorsquepossiblepouraccélérerlesrequêtes.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 15

Requêtesad-hoc• Gestiondesrequêtes(suite):

– Exécutiondesrequêtes:• Obtenirlesrésultatsdemanièreefficaceetsécuritaire.

– Présentationdesrésultats:• Offrirdifférentesmanièresdevisualiserlesrésultats(ex:tableaucroisé,graphique,etc.).

– Gouvernancedesrequêtes:• Surveillerlesrequêtesproblématiques,réutiliserlesrequêtesfréquentes,etc.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 16

Requêtesad-hoc• Exemplederequêtesimple:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 17

Table Vente

noClient noArticle dateVente montant

1 10 10/01/2000 100

2 20 10/01/2000 200

3 10 10/01/2000 500

1 10 15/01/2000 300

3 40 15/01/2000 100

2 60 16/01/2000 200

4 60 20/02/2000 400

2 10 20/02/2000 200

1 40 25/02/2000 100

4 10 04/03/2000 300

1 20 04/03/2000 200

SELECT noClient,noArticle,SUM(montant)FROM VenteGROUP BY noClient,noArticle

NOCLIENT NOARTICLE SUM(MONTANT)---------- ---------- ------------

1 10 5001 20 2001 40 1001 50 2001 60 2002 10 7002 20 3002 60 4003 10 10003 20 4003 40 1003 50 2004 10 3004 60 500

Requêtesad-hoc• Exemplederequêtesimple:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 18

! ! noArticle*

! ! 10! 20! 40! 50! 60!

! 1! 500! 200! 100! 200! 200!

noClient* 2! 700! 300! 0! 0! 400!

! 3! 1000! 400! 100! 200! 0!

! 4! 300! 0! 0! 0! 500!!

Tableaucroisé

Requêtesad-hoc• FonctionsanalytiquesOracle:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 19

SELECT noClient, dateCommande, montant, SUM(montant) OVER (PARTITION BY noClientORDER BY dateCommandeROWS UNBOUNDED PRECEDING) AS montantCumulatifDuClient

FROM VenteORDER BY noClient, dateCommande

NOCLIENT DATECOMMAN MONTANT MONTANTCUMULATIFDUCLIENT---------- ---------- ---------- ------------------------

1 10/01/2000 100 1001 15/01/2000 300 4001 25/02/2000 100 5001 04/03/2000 200 7001 10/04/2000 200 9001 15/04/2000 100 10001 05/06/2000 200 12002 10/01/2000 200 2002 16/01/2000 200 4002 20/02/2000 200 6002 15/03/2000 500 11002 20/05/2000 200 13002 05/06/2000 100 14003 10/01/2000 500 5003 15/01/2000 100 6003 05/04/2000 200 8003 06/04/2000 400 12003 25/05/2000 500 17004 20/02/2000 400 4004 04/03/2000 300 7004 15/03/2000 100 800

Requête:Montantcumulatifparclient.

Partition:Fonctionappliquéepargroupesdeclients;

ORDERBYetROWSUNBOUNDEDPRECEDING:Fonctionappliquéedansunefenêtreallantdelalignecourantejusqu’audébutdelatable,oùleslignessontenordrededate.

Analysemultidimensionnelle(OLAP)• Caractéristiques:

– Représentelesdonnéessouslaformed’uncubemulti-dimensionnel (hypercube)oùchaquecotéestunedimensiond’analyseetchaquecaseunemétrique;

– Permetdevisualiserdesdonnéessouslaformedetableauxcroisésappeléspivots;

– Permetdedétaillerlesdonnéesàl’aidedesopérationsdedécoupage:slice etdice;

– Permetdenaviguerunehiérarchiedimensionnelleàl’aidedesopérationsdrill-down etroll-up.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 20

Analysemultidimensionnelle(OLAP)• Exempledecube:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 21

Table Vente

noClient noArticle dateVente montant

1 10 10/01/2000 100

2 20 10/01/2000 200

3 10 10/01/2000 500

1 10 15/01/2000 300

3 40 15/01/2000 100

2 60 16/01/2000 200

4 60 20/02/2000 400

2 10 20/02/2000 200

1 40 25/02/2000 100

4 10 04/03/2000 300

1 20 04/03/2000 200

ClientArticle

Date

Analysemultidimensionnelle(OLAP)• Opérationssurlecube:

– Rotate:sélectionnelepivotd’analyseenfaisanttournerlecube;

– Slice:extraitunetrancheducube,c’est-à-dire,unsous-ensembledesvaleursducubecorrespondantàunecertainevaleurd’unedesdimensionsnon-découpées;

– Dice:provientdel’applicationdel’opérationslice surplusd’unedimension;

– Drill-down:permetdedétaillerlesdonnéesendescendantleniveauhiérarchiqued’unedimension;

– Roll-up(drill-up):permetd’agrégerlesdonnéesenaugmentantleniveauhiérarchiqued’unedimension;

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 22

Question• Commentfait-oncesopérationsenSQL:

– Rotate ?– Slice?– Drill-down?

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 23

Analysemultidimensionnelle(OLAP)• Hiérarchieducube(treillis):

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 24

Client

Article

Date

ClientArticle

Date

ClientDate

Article

Client

Article

Date

ClientDate

Article

Client

Article

Date

ClientArticle

Date

Client

Article

Date

Analysemultidimensionnelle(OLAP)• ClauseCUBE(SQL99):

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 25

Client

Article

Date

ClientArticle

Date

Client

Article

Date

Client

Article

Date

SELECT noClient,noArticle,SUM(montant)FROM VenteGROUP BY CUBE(noClient,noArticle)

NOCLIENT NOARTICLE SUM(MONTANT)---------- ---------- ------------

1 10 5001 20 2001 40 1001 50 2001 60 2001 12002 10 7002 20 3002 60 4002 14003 10 10003 20 4003 40 1003 50 2003 17004 10 3004 60 5004 800

10 250020 90040 20050 40060 1100

5100

Analysemultidimensionnelle(OLAP)• ClauseCUBE(SQL99):

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 26

noArticle

10 20 40 50 60 total

1 500 200 100 200 200 1200

noClient 2 700 300 0 0 400 1400

3 1000 400 100 200 0 1700

4 300 0 0 0 500 800

total 2500 900 200 400 1100 5100

Analysemultidimensionnelle(OLAP)• ClauseROLLUP(SQL99):

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 27

SELECT noClient,noArticle,SUM(montant)FROM VenteGROUP BY ROLLUP(noClient,noArticle)

NOCLIENT NOARTICLE SUM(MONTANT)---------- ---------- ------------

1 10 5001 20 2001 40 1001 50 2001 60 2001 12002 10 7002 20 3002 60 4002 14003 10 10003 20 4003 40 1003 50 2003 17004 10 3004 60 5004 800

5100

Client

Article

Date

Client

Article

Date

Client

Article

Date

ExempleOLAPgraphique(Palo-Pivot)

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 28

Reporting• Rapports(comparativementauxrequêtes):

– Lesinformationssontenvoyéesàl’usager(modepush),contrairementauxrequêtes(modepull);

– Leformatdesrapportsestsouventprédéfinietpeuflexible;

– Lesutilisateursontmoinsdecontrôlesurlesdonnéesprésentées;

– Nécessitentpeudeconnaissancestechniquesetd’interactiondelapartdesutilisateurs;

– Sontnormalementprésentésdansunformatfacilitantlalecture.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 29

Reporting• Gestiondesrapports:

– Rapportspréformatés:• Fournirunelibrairederapportsfréquemment employésavecunedescriptiondeleurcontenu.

• Exemples:– VentesYTDvsventesprédites;– Tauxmensueld’attritionparplandeservice;– Tauxderéponsescourrierparpromotionparproduit;– etc.

– Rapportsparamétrables:• Offrirlapossibilitédemodifier facilementlecontenudurapportàl’aidedeparamètres(ex:choixd’unproduit,d’unerégion,etc.)

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 30

Reporting• Gestiondesrapports(suite):

– Conceptionsimple:• Permettreauxutilisateursdepouvoircréerfacilementdenouveauxrapportsàl’aided’uneinterfaceconviviale.

– Exécutionsurleserveur:• Éviterdesurtaxerl’ordinateurdel’utilisateurenexécutantlerapportsurunserveurdédié.

– Rapportscédulés:• Permettreauxutilisateursdecédulerl’envoiderapportsàdesintervallesoulorsd’événementsprédéterminés.

– Méthode d’envoi:• Permettreauxutilisateursdechoisircommentlerapportleurestenvoyé(ex:courriel,pageWeb,etc.).

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 31

Exempledecréationderapport(MicrosoftSQLServerReporting Services)

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 32

Tableauxdebords• Caractéristiques:

– Mettentenvaleurlesindicateursdeperformanceetlesproblèmesàl’aided’éléments visuels:• Graphiques(ex:courbes,tarte,etc.);• Jauges(ex:profitsparutilisateur);• Feuxdecirculation(ex:rougesignifieproblème);

– Requièrenttrèspeudeconnaissancestechniquesdesutilisateurs;

– Combinentlesdonnéesdediverssystèmespouroffrirunevueunifiéedehautniveaudel’entreprise;

– Tiennentsouventcomptedeschangementsponctuelsdesdonnées(ex:rafraichissementdeséléments visuelsàintervallesréguliers).

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 33

Exempledetableaudebord(MicrosoftPowerPivot)

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 34

Indicateurs clés deperformance• Définition:

– Mesurespermettantd’évaluer laperformanced’uneentrepriseetleprogrèsréalisédansl’atteintedesesobjectifsd’affaires.

• Caractéristiques:– Mesurables;– Facilesàcomprendre;– Reliésàdesobjectifsd’affairesconcrets;– Balancés(pasencompétition);– Décidésparlesgestionnairesetlahautedirection;– Associésàdesindividus responsablesdeleursrésultats.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 35

Question• Indicateursclésdeperformance:

– Enmarketing?– Auniveaudelaproduction?– Dansledomaineacadémique?

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 36

Indicateurs clés deperformance• Exemples:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 37

Marketingetventes • Nombre denouveauxclientsacquis• Nombre declientsperdus(attrition)• Profits parsegments delapopulation• Nombredeclientsendéfautdepaiement• Tauxderéponseà unecampagne

Production • %du temps utilisé àlaproduction• %decomposantes défectueuses• Tempstotal pouruncycle• Tauxderejet

Gestiondeprojet • Valeuracquise(%complétéxValeurestimée)• Tempsestiméavantcomplétion• $dépensé parmois• Tempsmoyenpourlivraison• Overhead (fraisgénéraux)deprojet

Indicateurs clés deperformance

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 38

Source:Université deLancaster,UK

• Domaineuniversitaire:

Question• Qu’est-cequ’un(balanced)scorecard?

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 39

Scorecards• BusinessPerformanceManagement (BPM):

– « Ensembledeprocessusd’affaires,méthodologies,métriquesettechnologiesemployéesparlesentreprisespourmesurer,monitoreretgérerlaperformanced’affaires »,Gartner.

– Basésurunensembled’indicateursclédeperformance(KPI)caractérisantlesobjectifsstratégiques;

– Intègreégalementdesconceptsdeplanificationstratégique;

• Scorecard (tableaudebordprospectif):– ReprésentationgraphiquedesKPIencomparaisonaveclesvaleurs

ciblesdel’entreprise;– Lesvaleurssontcomparéespouruncertainnombredepériodes

historiques(ex:dixdernierstrimestres).

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 40

Scorecards• Balanced Scorecard (R.KaplanetD.Norton):

– Metl’accentsurlanotiond’équilibre:

• Entrelesobjectifsàcourtetàmoyen/long terme;

• Entrelesindicateursfinanciersetnon-financiers;

• Entrelesindicateursquimesurentlaperformancepasséeetlesindicateurs"prospectifs";

• Entrelaperceptionexterneetlaperformanceréaliséeeninterne.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 41

Exempledescorecard

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 42

LelangageMultiDimensionaleXpressions (MDX)

Inspirédulivre:

MicrosoftSQLServer2008MDXStep byStep,parBrianC.SmithetRyanClay

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 43

PrésentationdeMDX• Langagederequêteconçupourrechercheretmanipuler

l'informationdanslescubesOLAP;• ProposéparMicrosoften1997dansleurBDOLE;• StandardisédanslanormeXMLAnalytique(XMLA);• Employédansdifférentsproduits:

– MicrosoftSQLServer;– SAPNetweaver BI;– Hyperion Essbase;– SASOLAPServer;– etc.

• Attention:NepasconfondreavecSQL,mêmesicertainsélémentssyntaxiquessontsimilaires.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 44

PrésentationdeMDX• Attributsdimensionnels (deuxcatégories):

– Attributs-hiérarchies (attribute-hierarchy):• Utiliséspourfiltrerouagrégerlesdonnées;• Ex(dim.Produit):Catégorie,Sous-catégorie,Produit,etc.• Unehiérarchieàdeuxniveauxestassociéeautomatiquementàchacundecesattributs;

– Propriétés (memberproperty)• Utilisésuniquementpourdécrirelesdonnées;• Ex(dim.Produit):Description,Prixunitaire,etc.

• Exemple:attribut-hiérarchieCatégorie

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 45

Touslesproduits

Accessoires VêtementsVélosComposantes

Niveau0:(Tous)

Niveau1:(Feuilles)

PrésentationdeMDX• Hiérarchiesutilisateur(userhierarchies):

– Permettentdedéfinirdesrelationshiérarchiquesàplusieursniveauxentredesattributsdimensionnels;

• Exemple:hiérarchieutilisateurCatégorie-Produits

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 46

Touslesproduits

Accessoires VêtementsVélosComposantes

VélosMontagne VélosRoute VélosTourisme

...Road-250Black...

Niveau0:(Tous)

Niveau1:Catégorie

Niveau2:Sous-catégorie

Niveau3:Produit

PrésentationdeMDX• Mesuresdefaits:

– Séparéesdanslecubeàl'aided'unedimensionadditionnelleMesure

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 47

DateClientProduit...

totalAvantTaxestaxesrabaistotal...

DimDate

DimClient

DimProduit

DateClientProduit...Mesure

valeur

DimDate

DimClient

DimProduit

DimMesure

Mesure

CubeOLAP

PrésentationdeMDX• Membres:

– Valeursquepeuventprendreunattribut-hiérarchie;– Ex:Membresdel'attribut-hiérarchieCatégorie sont:

{Touslesproduits,Accessoires, Vélos,Vêtements,Composantes}

– Sontréférencés comme:[Dimension].[Hiérarchie].[Membre]

oupourleshiérarchiesutilisateur:[Dimension].[Hiérarchie].[Niveau].[Membre]

• Exemples:– [Produit].[Catégorie].[Tous lesproduits]– [Produit].[Catégorie].&[1] (référenceaveclaclédumembre)– [Produit].[Catégorie-Produits].[Sous-Catégorie].[Vélos Route]

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 48

PrésentationdeMDX• Tuples:

– Coordonnées identifiantlapositiond'unecase(cell)danslecubeOLAP– Requièrentunevaleur(membre)pourchaqueattribut-hiérarchiede

chaquedimension– Exemple (deuxdimensions+Mesure):

• Tuples partiels:– Lesvaleursdecertainsattributs-hiérarchies sontmanquantes– Exemple:

( [Date].[Annéecalendrier].[CY2013],[Produit].[Sous-Catégories].[VélosMontagne])

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 49

DimDate

AnnéefiscaleAnnéecalendrier

DimProduit

CatégorieSous-catégorie

Tuple valide:([Date].[Annéefiscale].[Toutespériodes],[Date].[Annéecalendrier].[CY2013],[Produit].[Catégorie].[Vélos],[Produit].[Sous-Catégorie].[VélosMontagne],[Mesure].[Mesure].[Total] )

PrésentationdeMDX• Résolutiondetuples partiels:

– Pourchaquevaleurmanquanted'unattribut-hiérarchique,appliquerlesrègles suivantes:1. Siunevaleurpardéfautexiste(définie lorsdelaconceptiondu

cube),utilisercettevaleur2. Sinon,silemembre(Tous)existe,utilisercettevaleur3. Sinon,silemembre(Tous)n'existepas(ex:dimensionMesure),

utiliserlepremiermembre

• Exemple*:

*:Onsupposequ'aucunevaleurdéfautn'aétéspécifiée

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 50

( [Date].[Annéecalendrier].[Y2013],[Produit].[Sous-Catégories].[VélosMontagne])

[Date].[Annéefiscale]?

[Produit].[Catégorie]?

règle2

[Mesure].[Mesure]?

règle2

règle3

[Date].[Annéefiscale].[Toutespériodes][Date].[Catégorie].[Touslesproduits]

[Mesure].[Mesure].[TotalAvantTaxes]

PrésentationdeMDX• Ensemblesdetuples:

– Syntaxe:{tuple1,tuple2, ...tupleN}

– Deuxrèglesàsuivre:1. Lestuples d'unmêmeensembledoiventfaireréférencesauxmêmes

hiérarchies;

2. Leshiérarchiesdoiventêtredanslemêmeordredanschaquetuple.

– Exemple (ensembleinvalide):{([Date].[Annéecalendrier].[CY2012],[Produit].[Catégorie].[Vélos]),([Produit].[Sous-catégorie].[Touslesproduits],[Date].[Annéecalendrier].[CY2013])}

– Exemple (ensemblevalide):{([Date].[Annéecalendrier].[CY2012],[Produit].[Catégorie].[Vélos]),([Date].[Annéecalendrier].[CY2013],[Produit].[Catégorie].[Vêtements])}

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 51

PrésentationdeMDX• RequêtesOLAPdebase:

• Interprétationdelarequête:1. Oncroiselesensembles1et2pourgénéreruntableau;

2. Chaquecasedutableaucontientlacombinaisondesvaleursd'untuple partieldel'ensemble1avecuntuple partieldel'ensemble2;

3. Oncombinechaquetuple partieldutableauavecceuxdel'ensemble3;

4. Oncomplètelestuples àl'aidedelaméthodederésolution;

5. ChaquecasedutableaucontientlavaleurducubeOLAPréférencéeparsontuple.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 52

SELECT<EnsembleTuplesPartiels1>ONCOLUMNS,<EnsembleTuplesPartiels2>ONROWS

FROM<Cube>WHERE<EnsembleTuplesPartiels3>Slicer

PrésentationdeMDX• Exemplederequête:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 53

SELECT{

([Mesure].[Mesure].[Total]),([Mesure].[Mesure].[Rabais])

}ONCOLUMNS,{

([Produit].[Catégorie].[Touslesproduits]),([Produit].[Catégorie].[Accessoires]),([Produit].[Catégorie].[Composantes]),([Produit].[Catégorie].[Vélos]),([Produit].[Catégorie].[Vêtements])

} ONROWSFROMCubeVentes

WHERE([Date].[Annéecalendrier].[CY2011])

PrésentationdeMDX• Exemplederéponse:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 54

Total Rabais

Touslesproduits $808,387.54 $142,332.42

Accessoires $105,123.23 $5,382.31

Composantes $24,832.12 $332.75

Vélos $451,234.17 $87,088.19

Vêtements $227,198.02 $49,529.17

( [Date].[Annéefiscale].[Toutespériodes],[Date].[Annéecalendrier].[CY2011],[Produit].[Catégorie].[Vêtements],[Produit].[Sous-Catégorie].[Touslesproduits],[Mesure].[Mesure].[Total] )

tuple correspondant

PrésentationdeMDX• Écrituresimplifiée:

– Raccourcis:• S'iln'yapasdeconflits,onpeutomettredespécifier lahiérarchieet/ouleniveaudanslaréférence d'unmembre;

– Motclé Members:• Onobtienttouslesmembresd'unehiérarchieenmettant[Hiérarchie].Members;

• Requêteéquivalente:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 55

SELECT{([Mesure].[Total]),([Mesure].[Rabais])

} ONCOLUMNS,{ [Produit].[Catégorie].Members } ONROWS

FROMCubeVentesWHERE([Date].[Annéecalendrier].[CY2011])

PrésentationdeMDX• Jointure:

– Faitaveclafonctioncrossjoin(Set1,Set2)oul'opérateur'*':

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 56

SELECT{([Date].[Calendrier].[CY2010]),([Date].[Calendrier].[CY2011]),([Date].[Calendrier].[CY2012]) }*

{([Mesure].[Total]),([Mesure].[Rabais])}ONCOLUMNS,

{[Produit].[Catégorie].[Catégorie].Members }ONROWSFROMCubeVentes

CY2010 CY2010 CY2011 CY2011 CY2012 CY2012

Total Rabais Total Rabais Total Rabais

Accessoires $... $... $... $... $... $...

Composantes $... $... $... $... $... $...

Vélos $... $... $... $... $... $...

Vêtements $... $... $... $... $... $...

Question:Pourquoi laligneTouslesproduitsa-t-elledisparue?

PrésentationdeMDX• Membrescalculés(calculated members):

– Membresdérivésdynamiquementd'autresmembresducubeOLAP– Syntaxe:WITHMEMBER<référence membre>AS<expression>,

FORMATSTRING=<format>

• Exemple:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 57

WITHMEMBER[Mesures].[PctRabais]AS([Mesures].[Rabais])/([Mesures].[Total]),

FORMAT_STRING="Percent"SELECT

{([Date].[Calendrier].[CY2010]),([Date].[Calendrier].[CY2011]),([Date].[Calendrier].[CY2012])} *

{([Mesure].[Total]),([Mesure].[PctRabais])}ONCOLUMNS,

{[Produit].[Catégorie].[Catégorie].Members }ONROWSFROMCubeVentes

PrésentationdeMDX• Résultats:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 58

CY2010 CY2010 CY2011 CY2011 CY2012 CY2012

Total PctRabais Total PctRabais Total PctRabais

Accessoires $... %... $... %... $... %...

Composantes $... %... $... %... $... %...

Vélos $... %... $... %... $... %...

Vêtements $... %... $... %... $... %...

PrésentationdeMDX• Navigationdansunehiérarchie:

– CurrentMember:membrecourantd'unehiérarchie,aumomentoùuneexpressionestévaluée

– Parent:parentd'unmembreévaluédansuneexpression

• Exemple:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 59

WITHMEMBER[Mesures].[NomParent]AS

[Produit].[Catégorie-Produits].CurrentMember.Parent.NameMEMBER[Mesures].[PctDansParent]AS

([Mesures].[Total])/([Produit].[Catégorie-Produits].CurrentMember.Parent,[Mesures].[Total]),

FORMAT_STRING="Percent"SELECT

{([Mesures].[NomParent],([Mesures].[PctDansParent])

} ONCOLUMNS,{[Produit].[Catégorie-Produits].AllMembers}ONROWS

FROMCubeVentes

PrésentationdeMDX• Résultats:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.7,C.Desrosiers 60

NomParent PctDansParent

Touslesproduits (null) #inf

Accessoires Touslesproduits %...

Porte-vélos Accessoires %...

... ... ...

Composantes Touslesproduits %...

Dérailleurs Composantes %...

... ... ...

Vélos Tous lesproduits %...

VélosMontagne Vélos %...

... ... ...

Vêtements Tous lesproduits %...

Bas Vêtements %...

... ... ...