les applications de bi - etsmtl.ca...question • quelles sont les étapes du cycle analytique en...
TRANSCRIPT
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 %...
... ... ...