Mettre en place un entrepôt de données multidimensionnel

download Mettre en place un entrepôt de données multidimensionnel

of 17

Transcript of Mettre en place un entrepôt de données multidimensionnel

  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    1/17

    Mettre en place un entrept

    de donnes multidimensionnel

    Par Carlos Da Costa

    Date de publication : 19 dcembre 2011

    L'objectif de ce livre blanc est de dmystifier le concept d'entrept de donnesmultidimensionnel, travers une approche simple, courte et pragmatique. J'espre que

    ce livre blanc vous permettra de comprendre les tenants et aboutissants d'un entreptde donnes multidimensionnel et qu'il vous assistera dans sa mise en oeuvre et samaintenance.Ce court mmoire regroupe l'ensemble des points cls d'une approche multidimensionnelle.

    http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    2/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 2 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    1 - Auteur.....................................................................................................................................................................32 - L'entrept de donnes multidimensionnel en thorie............................................................................................3

    2-A - Pourquoi mettre en place un entrept de donnes ?...................................................................................32-B - L'analyse multidimensionnelle une approche naturelle................................................................................ 32-C - Entrept multidimensionnel contre Entrept relationnel ?............................................................................ 42-D - L'entrept de donnes multidimensionnel.................................................................................................... 4

    2-D-1 - En pratique........................................................................................................................................... 42-E - Une construction itrative en quatre tapes.................................................................................................5

    2-E-1 - tape 1 : slection d'un processus cl................................................................................................ 52-E-2 - tape 2 : choix de la granularit stocke.............................................................................................62-E-3 - tape 3 : choix des axes d'analyses (dimensions).............................................................................. 62-E-4 - tape 4 : quelles mesures (faits)......................................................................................................... 7

    3 - L'entrept de donnes multidimensionnel en pratique.......................................................................................... 73-A - Les tables de fait.......................................................................................................................................... 7

    3-A-1 - Les rgles d'or des tables de fait.........................................................................................................73-A-2 - Quelques patrons lis aux tables de fait..............................................................................................8

    3-A-2-A - Table de fait de transaction.........................................................................................................83-A-2-B - Table de fait priodique...............................................................................................................9

    3-A-2-C - Table de fait rcapitulatif............................................................................................................. 93-B - Les tables de dimension.............................................................................................................................103-B-1 - Les rgles d'or des tables de dimensions..........................................................................................103-B-2 - Quelques patrons lis aux tables dedimensions ............................................................................. 11

    3-B-2-A - Les dimensions jeux de rle .......................................................................................... 113-B-2-B - Les dimensions changement rapide..................................................................................... 113-B-2-C - Les flags dimensionnels ( utiliser avec modration)..............................................................123-B-2-D - Les mini-dimensions ou dimensions dportes........................................................................123-B-2-E -Les dimensions dgnres..................................................................................................... 123-B-2-F -Les dimensions horodates.......................................................................................................123-B-2-G -La dimension audit....................................................................................................................12

    3-C - Maintenance d'un entrept de donnes multidimensionnel........................................................................133-C-1 - Oprations de maintenance lies aux dimensions............................................................................ 13

    3-C-1-A -Ajout...........................................................................................................................................133-C-1-B -Suppression...............................................................................................................................133-C-1-C - Mise jour...............................................................................................................................13

    3-C-2 - Oprations de maintenance lies aux mesures.................................................................................143-C-2-A -Du volume de donnes traites :..............................................................................................143-C-2-B -De la complexit du calcul des mesures :...............................................................................143-C-2-C -Des jointures avec les tables de dimensions :..........................................................................14

    4 - Pour conclure.......................................................................................................................................................154-A - Rappel et derniers conseils........................................................................................................................ 15

    4-A-1 - Derniers conseils techniques............................................................................................................. 154-B - Les cinq Facteurs cls de succs.............................................................................................................. 15

    4-B-1 - Comprhension du mtier.................................................................................................................. 15

    4-B-2 - Atomicit de la table des faits............................................................................................................154-B-3 - Acceptation par les utilisateurs.......................................................................................................... 164-B-4 - Le nombre et la pertinence des dimensions......................................................................................164-B-5 - Dfinition commune et mtadonnes.................................................................................................164-B-6 - Le SPONSOR.....................................................................................................................................16

    5 - Remerciements.................................................................................................................................................... 16

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    3/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 3 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    1 - Auteur

    Consultant indpendant et ingnieur en informatique. Carlos Da Costa propose d'assister les organisations dansla mise en place d'un systme dcisionnel et de gestion de la performance (notamment partir des technologiesproposes par Information Builders : WebFOCUS / iWay software / Performance Management Framework).

    Aprs un master en audit et conception des systmes d'informations, Carlos volue au sein de la division en chargedu systme dcisionnel de la 1re banque de dtail luxembourgeoise. Ses expriences russies lui ont permisd'approfondir ses connaissances dans l'architecture d'un systme dcisionnel et de mettre en place des applicationsdcisionnelles au niveau stratgique, analytique et oprationnel.

    Lors de sa dernire mission, Carlos collabore pendant prs de deux ans dans un projet de large envergure portantsur la mise en place d'un entrept de donnes multidimensionnel partir d'une approche balanced scorecard .Ce livre blanc est en partie le fruit de cette exprience.

    2 - L'entrept de donnes multidimensionnel en thorie

    2-A - Pourquoi mettre en place un entrept de donnes ?

    L'entrept de donnes a pour objectif de centraliser et faire converger l'ensemble des donnes d'une organisationdans le but de faciliter l'accs l'information, l'analyse et la prise de dcision. Ce point de convergence de l'informationdevrait permettre in finel'automatisation et la standardisation (dfinition unique) d'indicateurs.

    Seul un entrept de donnes, global, transverse et "historis" permet une mise en perspective quilibre del'organisation. En effet, dans la mesure o chaque indicateur pertinent est directement ou indirectement corrl unautre, il influe directement ou indirectement sur un objectif, la tactique et la stratgie de l'organisation.

    La dmarche de centralisation et de mise en perspective entreprise travers la mise en place d'un entrept de

    donnes doit pouvoir vous permettre de produire une vue balanced scorecard (1) de votre organisation afin deplanifier, vrifier, ragir et tre efficace.

    2-B - L'analyse multidimensionnelle une approche naturelle

    Mme si le mot multidimensionnel peut paratre savant et complexe, cette approche se veut avant tout simpleet naturelle.

    Lorsque vous produisez un rapport ou que vous vous interrogez sur la valeur d'un indicateur, il y a de fortes chancesque cela corresponde l'expression d'un contexte(vos dimensions) et de mesure(s) (les faits), exemple :

    Je souhaite connatre mon chiffre d'affaires, parproduit, paragence pourle mois d'avril.

    Les clauses POUR et PAR (respectivement les clauses WHERE et GROUP BY de vos requtes)correspondent vos dimensions. Le chiffre d'affaires lui correspond la mesure (le fait). Vous utilisez donc dj,de faon consciente ou non, une approche "multidimensionnel".

    Si le mot dimension vous met encore mal l'aise, remplacez celui-ci par axe d'analyse (c'est "blanc bonnet, bonnetblanc"). Nous aborderons en dtail la notion des faits et des dimensions tout au long de ce papier.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    4/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 4 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    2-C - Entrept multidimensionnel contre Entrept relationnel ?

    Personnellement, je pense que l'on peut associer la production d'un modle multidimensionnel avec celle d'unsystme d'entrept de donnes de type relationnel. Constituer un march de l'information multidimensionnel n'est enaucun cas incompatible avec une approche relationnelle, bien au contraire, elles sont complmentaires.

    En effet, la convergence des systmes de transactions oprationnels sera difficile modliser travers un schmamultidimensionnel. De la mme manire, la mise en place d'un systme de mesure et d'exploitation de l'informationsera difficile raliser travers un simple entrept relationnel. En tant que concepteur du systme d'informationdcisionnel, vous n'avez pas faire le choix entre une approche plutt qu'une autre. Vous devez connatre lestenants et aboutissants de votre projet dcisionnel afin de proposer la combinaison relationnel/multidimensionnel gagnante.

    2-D - L'entrept de donnes multidimensionnel

    Le concept d'entrept de donnes multidimensionnel consiste (cf. partie : Pourquoi mettre en place un entrept dedonnes ) en la mise en place d'un march de l'information unique et transversal partir des diffrents systmestransactionnels d'une organisation. Ce march de l'information est construit partir de l'analyse des processus clsde l'organisation dans le but de faciliter l'accs l'information, l'analyse et la prise de dcisions.

    2-D-1 - En pratique...

    La mthode de modlisation dimensionnelle est base sur une architecture de type bus (2) . Une table de faitest produite partir des donnes transactionnelles et de l'analyse d'un processus afin de rpondre aux questionsdes analystes. Une table de faits est constitue de mesures ainsi que de cls de dimension. Ces cls de dimensionpermettent la jointure entre la table de faits et les tables dimensions. Les dimensions sont communes l'ensembledes services de l'organisation et reprsentent des axes d'analyses stratgiques.

    L'interrogation des tables de faits travers les tables de dimensions produit des rapports agrgs qui sontthoriquement capables de rpondre l'ensemble des besoins en information des utilisateurs.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    5/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 5 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    Figure 1 : modlisation entrept de donnes multidimensionnel

    2-E - Une construction itrative en quatre tapes

    La construction d'un entrept de donnes multidimensionnel est itrative et incrmentale. Au fur et mesure de sa

    construction l'entrept de donnes doit devenir global et transversal via l'intgration de mesures de processus cls.L'intgration d'un nouveau processus passe par quatre tapes (3) :

    2-E-1 - tape 1 : slection d'un processus cl

    Le choix du processus cl doit se faire en fonction de son importance au sein de l'organisation. C'est aux stratgeset aux responsables oprationnels de prendre cette dcision.

    Voici quelques pistes de rflexions pour vous permettre de prioriser vos processus cls :

    quel est le but premier de mon organisation et quels sont les processus qu'il serait ncessaire d'analyser ? Ici

    on parle bien de processus et non de dpartements, de services, ou de divisions... Une organisation est untout, votre schma de penses doit tre transversal et d'abord li aux processus fondamentaux ;

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    6/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 6 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    quels sont les indicateurs de performance, d'clairage ou de risque pertinents aux niveaux stratgique,analytique et oprationnel ? Mme si les interrogations d'un stratge sont diffrentes des questions d'unepersonne oprationnelle, la source de donnes reste la plupart du temps a mme. Pour mettre en place unestratgie de modlisation long terme vous devez avoir conscience des besoins aux diffrents niveaux desprises de dcisions ;

    quels exemples de dcisions concrtes pourraient tre pris partir de ce systme de mesure, et ce pour

    chaque personne de chaque niveau mentionn. Si aucune dcision ne peut dcouler de votre systmedcisionnel c'est qu'il est sans intrt. N'oubliez jamais qu' chaque mesure doit correspondre un ouplusieurs leviers d'actions (plus le niveau s'approche de l'oprationnel, plus les leviers doivent tre simples) ;

    quels gains rels pour l'organisation apporteraient ces dcisions : hausse de la productivit ? Optimisationdes cots ? Meilleure ractivit sur les marchs ? Accroissement de la prise de part de march ? Amliorer lafidlisation clientle ?

    Gardez l'esprit que la mise en place et l'volution d'un systme a un cot. L'tape du choix du processus modliserest fondamentale, si celui-ci n'est pas pertinent, les dcisions qui en dcoulent n'auront pas d'impact sur votre activit.

    2-E-2 - tape 2 : choix de la granularit stocke

    Dans cette tape vous devez faire le choix du niveau de dtail de l'information que vous souhaitez conserver.

    Exemple, sur un ticket de caisse que conserveriez-vous ? Chaque ligne de produit d'achat ? Chaque produit diffrent ?Regrouperiez-vous le montant par famille de produits ? Ou seul le montant total vous intresse ?

    Les responsables oprationnels ont tendance vouloir tout stocker, et ils ont raison. En effet, plus le degr degranularit est fin plus la capacit d'analyse est leve (en terme de croisement entre vos diffrents axes d'analyses).Mais attention, malgr les progrs raliss dans le traitement et le stockage de grands volumes de donnes, plusl'information est dtaille et moins votre possibilit d'historique dans le temps est importante. Le choix cornlien dela granularit stocke est donc rempli de compromis. Dans tous les cas, il doit se faire avec l'aval de l'utilisateur final,du DBA(4) et du responsable de l'entrept de donnes.

    2-E-3 - tape 3 : choix des axes d'analyses (dimensions)

    Si le mot dimension est utilis dans la majorit des outils de modlisation, je prfre l'expression axe d'analyse .Chaque processus peut-tre analys sous diffrents axes : par priode de temps, par typologie de client, par typologiede produits, par localit, par site de production, etc. Le but de cette tape est de choisir quels sont les axes d'analyseadquats pour le processus en question. Rappelez-vous que l'architecture d'un entrept de donnes dimensionnelrepose sur le principe de bus , c'est- -dire que ce sont les donnes de votre processus qui vont venir se brancher vos dimensions et non l'inverse. En d'autres termes, les dimensions dfinies ici sont communes l'ensemble del'organisation et l'ensemble des processus. Avant de crer un nouvel axe d'analyse, veillez ce que celui-ci puissetre suffisamment gnrique pour convenir l'ensemble de votre organisation.

    Pour trouver les dimensions adquates au processus mesur, posez-vous les questions suivantes :

    qui ces donnes pourraient-elles tre utiles ? comment les analystes regrouperaient-ils les donnes ? comment les analystes filtreraient-ils les donnes ? quels sont les titres de colonne des rapports actuellement produits ?

    Dans tous les cas, faites preuve de bon sens, restez simple et pragmatique et n'essayez pas d'tre original. C'est partir du croisement de dimensions simples et comprhensibles que vous allez pouvoir prendre des dcisions(pour plus de dtail, je vous renvoie vers le chapitre ddi aux tables de dimensions). Cette tape du choix des axesd'analyses doit-tre faite par une quipe htrogne (oprationnels, analystes et reprsentant du systme dcisionnelen place). Elle doit tre simple et naturelle pour tous les intervenants.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    7/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 7 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    2-E-4 - tape 4 : quelles mesures (faits)

    Quelles mesures de performance, d'clairage ou de risque serait-il pertinent de rattacher ce processus cl ?Cette rponse doit tre fournie la fois par des reprsentants oprationnels expriments et des collaborateursstratgiques (manager, stratge). Ici votre mantra doit tre : "Not everything that can be counted counts, and not

    everything that counts can be counted." [Albert Einstein]. Ce qui compte ne peut pas toujours tre compt, et ce quipeut tre compt ne compte pas forcment. En gardant cette phrase l'esprit vos avez plus chance d'assurer laprennit de votre systme.

    Ce qui compte ne peut pas toujours tre compt: en effet, votre systme dcisionnel se limitera toujours desfaits tangibles. Vos collaborateurs les plus imaginatifs vous proposeront sans doute des techniques pour mesurercertain faits intangibles (exemple : la satisfaction client), si c'est le cas attention... Mme s'il est possible de sonderses clients via un questionnaire et calculer un ratio de satisfaction, ces donnes de type exceptionnelles n'ontrien faire dans votre systme dcisionnel. Celui-ci doit d'abord reposer sur des faits tangibles issus d'activitstraces par votre systme d'information (c'est--dire : pas de donnes disponibles de faon rcurrente = pas demesure). Dans ce cas prcis, on prfrera reprsenter la satisfaction client travers un objectif qui encapsule desmesures tangibles en rapport avec votre activit, exemple : le nombre de rclamations traits, le nombre de retoursde marchandises ou le nombre de connexions hebdomadaires,etc.

    Ce qui peut tre compt ne compte pas forcment : mesurez des faits qui ont un enjeu et un sens pour lesdcideurs ainsi que pour les oprationnels. Mesurez d'abord des indicateurs acts et connus. Rappelez-vous querien n'est gratuit ! Le cot de votre systme dcisionnel sera proportionnel au nombre de mesures stockes. Plusil y a de mesures, plus il y a de volume de donnes, plus il y a de source de donnes diffrentes, plus il y a demaintenance lors de l'volution des systmes oprationnels, plus vous aurez besoin de personnel qualifi affect ces travaux de maintenances, etc. Avant d'intgrer une mesure, vous devez intgrer la notion pertinence / cot .Chaque mesure doit reprsenter un cot raisonnable proportionnel la valeur ajoute qu'elle apporte. Seuls lesresponsables techniques pourront rellement vous indiquer le cot de l'intgration : volume de donnes, cot destockage, cot CPU, cot de maintenance, impact sur le systme actuel, etc. Rappelez-vous que vous ne mesurezpas par plaisir mais par ncessit. Les personnes issues des activits oprationnelles avec une forte exprience dumtier sont souvent pragmatiques et de trs bon conseil.

    3 - L'entrept de donnes multidimensionnel en pratique

    3-A - Les tables de fait

    Tout d'abord dmystifions la chose... Une table de fait n'est rien d'autre qu'un ensemble de donnes structures,compos de champs de type dimension (le contexte) et champs de type mesure (les faits).

    Un processus d'entreprise peut tre reprsent l'aide d'une ou plusieurs tables de fait. ce jour on dnombretrois types de tables de fait(5) : les tables de fait de transaction, les tables de fait priodique et les tables de fait

    rcapitulative.

    3-A-1 - Les rgles d'or des tables de fait

    Voici une srie de conseils qui pourront vous tre utiles lors de la mise en place de n'importe quelle table de fait(n'hsitez pas les relire avant d'en concevoir une nouvelle, vous conomiserez sans doute un temps prcieux) :

    l'unicit d'une ligne d'une table de fait doit toujours pouvoir tre garantie par la concatnation de seschamps dimensions. En effet, mme si les concepteurs rajoutent souvent une cl physique de type auto-incrment la cl logique de table reste l'unicit du contexte. En d'autres termes, si un fait (une occurrence)a exactement le mme contexte (mme valeurs de dimensions) qu'un autre fait, cela doit tre la mme ligne ;

    une table de fait contient toujours la dimension temps. Bien que la dure de rtention varie en fonction de lagranularit de la mesure, TOUTES vos mesures doivent comprendre un historique pour vous permettre deproduire des tendances. Un entrept de donnes quel qu'il soit doit comprendre la dimension temps (c'est

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    8/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 8 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    l'quipe mtier de juger de la dure minimale de rtention requise pour leur permettre de prendre desdcisions et non pas aux administrateurs de base de donnes) ;

    les mesures stockes dans une table de fait sont (presque) toujours de types numriques et additifs. Celaimplique les rgles suivantes : les ratios sont toujours stocks travers deux champs distincts (numrateuret dnominateur). Les mesures stockes ne correspondent jamais une moyenne (la somme des moyennesne correspond pas la moyenne des sommes !). Prenez garde au calcul des dlais, vous ne stockez pas les

    dates mais la dure effectif du dlai calcul quel qu'en soit l'unit (jours, minutes ou secondes) ; les donnes d'une table de fait sont figes. Une table de fait stocke une situation passe et rvolue

    (sauf table de fait rcapitulative). Il ne doit pas y avoir d'opration de mise jour sur la table une fois lechargement effectu et que ses donnes sont disposition des utilisateurs (sauf correction). Si certainsde vos utilisateurs gnrent le rapport situation financire du 31 mars 2011 le 5 avril et que d'autresutilisateurs gnrent ce mme rapport le 10 mai, ils doivent absolument avoir accs aux mmes chiffres ;

    une table de fait est toujours interroge partir d'un contexte donn. Sa volumtrie ainsi que sa naturetransverse (multitude de dimensions) vous obligent interroger une table de fait partir d'un contexte bienparticulier (filtre de dimensions) ;

    des vues d'une mme table de fait peuvent tre produites avec des filtres entirement diffrents parce que lesbesoins d'un service un autre sont entirement diffrents. Ce qui importe, c'est que les deux services aientla mme dfinition de la mesure, car les rapports sont produits partir de la mme source de donnes ;

    une table de fait ne doit pas contenir de ligne artificielle valorise zro. Il faut donc viter les alimentationsde type produit cartsien de dimension . Exemple, si votre systme oprationnelle ne contient pasd'information sur la vente du produit REF-0001 vendu dans l'agence ABC qu'il en soit ainsi ! Ne crezpas la ligne REF-001 | ABC | ... | 0 sous peine d'explosion du volume de donnes ;

    une table de fait ne comprend que les cls des dimensions, sous forme de cl trangre (numrique deprfrence et dnue de sens pour faciliter la maintenance, cf. chapitre sur les tables de dimensions). Si lestables de fait peuvent tre trs longues en termes de nombre d'occurrences, elles doivent tre troites enlargeur pour pouvoir les compresser en terme d'espace et tre performante ;

    le volume d'une table de fait dpend (en partie) du nombre de dimensions AINSI QUE de la structure decelle-ci (profondeur, nombre d'occurrences). En d'autres termes plus le contexte est prcis et plus votre tablede fait sera volumineuse et difficile maintenir.

    3-A-2 - Quelques patrons lis aux tables de fait

    Comme nous l'avons dj prcis le concepteur d'entrept de donnes distingue diffrents types de tables de fait : detransaction, priodique et rcapitulative. Mme si nous classons les tables de fait par type, le principe reste identique :c'est une structure contenant des champs cl trangre de table de dimensions (contexte) et des champs detype mesure.

    Connatre et matriser les diffrents types de tables de fait vous aidera tout au long de la conception de votremarch de l'information. Cela vous permettra de mettre en place plus rapidement un SID complet. En effet, malgr latransversalit du systme, les besoins de reporting sont redondants. En connaissant les patterns appliquer vousacclrerez la mise en place ainsi que la qualit et la pertinence de l'information fournie.

    3-A-2-A - Table de fait de transaction

    C'est le type le plus commun et le plus fondamental, l'ensemble de votre entrept repose sur les tables de fait detransaction.

    Principe : comme son nom l'indique elle repose sur la transaction du systme oprationnel. Vous devez dfinir lescls des dimensions de chacune des transactions oprationnelles et extraire les mesures qui vous intressent. Ici,la difficult provient de la gestion des dimensions (notamment le traitement des nouvelles occurrences) ainsi que ducompromis volumtrie/prcision du contexte fourni (cf. tape choix de la granularit de la table de fait).

    Attention, il ne s'agit pas d'avoir une ligne par transaction, bien au contraire. Ici l'unicit de l'occurrence est marque

    par l'unicit de son contexte (ensemble des cls de dimensions, cf. rgle 1 des proprits des tables de fait). Notezque plus vous agrgez les faits, moins il sera possible de proposer des dimensions dgnres (cf. chapitre LesDimensions ).

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    9/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 9 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    Vous n'avez pas faire d'opration de mise jour sur une table de fait de transaction (sauf erreur de chargement).La table de fait de transaction reprsente le niveau le plus dtaill que peut proposer votre entrept sur le processusen question, c'est pourquoi le choix de la granularit de celle-ci est si importante.

    3-A-2-B - Table de fait priodique

    Une table de fait priodique est gnralement construite partir d'une table de fait de transaction. Elle reprsentesoit l'image d'une table de fait de transaction un moment T ; soit la synthse d'une table de fait de transaction travers l'agrgation des mesures sur ses dimensions.

    Les tables de faits priodiques permettent d'analyser un volume de transaction beaucoup plus important et ainside dgager des tendances. En contrepartie, le nombre et les profondeurs des dimensions sont rduits. En d'autrestermes, plus vous agrgez les mesures de la table de transaction plus votre contexte d'analyse sera limit mais plusvous pourrez traiter de transactions et dgager des tendances. Comme toujours tout est histoire de compromis...

    Une bonne approche peut tre de proposer une table de fait de transaction avec un contexte d'analyse trs riche ettrs dtaill sur un axe de temps limit (trois mois) coupl une table de fait priodique avec un contexte moins riche

    (profondeurs de dimension moins importante ou suppression de dimensions) mais un axe de temps plus important(36 mois).

    Tout comme sur les tables de faits de transaction, hormis une erreur de chargement, les tables de fait priodiques nedoivent pas tre soumises des oprations de mise jour, la production de ce type de tables consiste agrgeret charger les donnes.

    Si votre processus possde un nombre de dimensions restreint avec trs peu d'occurrences, le volume trait parvotre table de fait de transaction peut ventuellement vous permettre de proposer un axe temps suffisant vosanalystes, auquel cas la mise en place d'une table de fait priodique n'est pas ncessaire, voir dconseille.

    3-A-2-C - Table de fait rcapitulatif

    Trs utile et complmentaire aux autres types de tables de fait, les tables de fait rcapitulatives sont aussi pluscomplexes et plus difficiles maintenir.

    La table de fait rcapitulative n'est pas fonde sur la transaction ou sur l'axe temps mais sur l'analyse dtaille d'unedimension. Exemple : l'activit d'un site de production. Dans les autres types de table de fait la rfrence d'un site deproduction tait un axe d'analyse possible mais le but premier tait l'analyse du processus travers ses diffrentesmesures. Dans les tables de fait rcapitulatives les rles s'inversent, on souhaite analyser une dimension traversdiffrents processus. La table de fait rcapitulative va donc contenir diffrentes mesures lies diffrents processuspour une mme occurrence de dimension.

    Les tables de fait rcapitulatives permettent une analyse transversale d'une dimension cl stratgique. Contrairementaux autres types de tables de fait, l'essentiel des oprations effectues sur ce type de table sont des mises jour. Lestables de fait rcapitulatives sont complmentaires aux autres types de table fait et leur contenu repose entirementsur les tables de fait de type transactionnelle.

    La notion de table de fait rcapitulative peut encore vous paratre abstraite, prenons un exemple basique pour illustrerces propos. Imaginons que vous disposiez de deux tables de faits de type transaction. La premire est lie unprocessus de vente (dimensions utiliss : Temps, Magasin, Employ, Produit, Age client, Localit client). La secondeest lie un processus de rclamation (dimensions utiliss : Temps, Produit). Vous pourriez donc crer une tablede fait rcapitulative Mesure Produit qui intgre pour chaque produit la notion de ventes et de rclamation.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    10/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 10 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    3-B - Les tables de dimension

    Les dimensions correspondent donc vos axes d'analyses, exemple : Produits, Agences, Temps, Rating Client,Localit, Anciennet, Service, etc. On retrouve souvent les mmes dimensions dans un mme secteur d'activit etpour cause, les utilisateurs mtier expriments savent trs bien distinguer l'utile de l'inutile.

    Une dimension correspond un arbre, le but tant d'tre capable de faire joindre les faits un noeud ou unefeuille de cet arbre. Grce cette jointure entre mesures et dimensions, vous permettez aux analystes de calculer unagrgat par noeud, par branche ou pour l'ensemble du tronc, le tout sur plusieurs dimensions la fois (croisementde dimensions).

    Exemple de dimensions temps :

    Exemple de dimension produit :

    Le dcideur peut alors analyser l'agrgat des mesures associes ces dimensions par trimestre et sous-catgoriesde produits.

    Considrez les dimensions comme l'interface entre l'homme et les donnes de votre systme de mesure. Tout rapportsera toujours construit travers les dimensions que vous mettez disposition des utilisateurs. C'est pourquoi, ellesse doivent d'tre simples et d'avoir du sens pour l'ensemble de vos utilisateurs.

    En croisant les dimensions, les analystes construisent le contexte du rapport. Si le contexte estincomprhensible vos rapports le seront tout autant.

    3-B-1 - Les rgles d'or des tables de dimensions

    Voici une srie de conseils qui pourront vous tre utiles lors de la mise en place de vos tables de dimensions :

    mme si une table de dimension est souvent trs d-normalise, veuillez toujours respecter la premireforme normale (unicit de la cl et valeur atomique des champs) ;

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    11/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 11 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    afin de faciliter la maintenance due l'volution des dimensions et dans le but de faciliter les jointures avecla table de fait et de rduire la volumtrie de celle-ci, prfrez l'utilisation d'une cl physique gnrique etdpourvue de sens et qui soit de type auto-incrment plutt qu'une cl logique compose de plusieurschamps pour vos tables de dimensions ;

    mme s'il existe diffrents types de processus pour mettre jour une table de dimension, un conseil : nesupprimez jamais une ligne d'une table de dimension. Si vous ne souhaitez pas afficher des dimensions

    obsoltes, utilisez un champ ETAT ou FLAGAFFICHAGE. Il est trs difficile de mesurer l'impact de lasuppression d'une valeur de dimension sur l'ensemble des rapports de vos utilisateurs. Si un rapport estproduit un jour j ses valeurs doivent tre identique s'il est produit jour j+30 ou j+365 . Si voussupprimez physiquement une ligne d'une dimension cela ne sera plus le cas ;

    pour faciliter la production de rapports et le calcul d'agrgats, faites en sorte de crer des dimensionsrespectant une hirarchie simple de type 1 vers n. Imaginez les relations au sein d'une mme dimensioncomme celles des poupes russes qui s'embotent ou comme un arbre vis--vis de ses branches et de sesfeuilles. Cette approche est trs naturelle pour l'utilisateur qui facilite la manipulation des donnes. Exemple :- un domaine de produit contient une plusieurs catgories de produits ; une catgorie de produit contientune ou plusieurs rfrences de produit,- une rgion contient un ou plusieurs dpartements, un dpartement contient un ou plusieurs sites deproduction, un site de production contient 1 ou plusieurs services ;

    En d'autres termes, viter les relations n vers n dans une dimension. Dlimitez strictement la hirarchie devos dimensions : un site de production appartient un et un seul dpartement, un dpartement n'appartientqu' une et une seule rgion. Si un dpartement peut appartenir plusieurs rgions dans votredimension, vous risquez de complexifier l'accs l'information et la production de rapports. Pensez auxpoupes Russe !

    vitez les modles de dimensions en flocon, ils sont plus difficiles maintenir et moins efficaces.Normalement, vous pouvez toujours les viter en crant deux dimensions compltement distinctes. Exemple,un produit peut appartenir une typologie de produit et un produit appartient galement un regroupementde produits. Dans ce cas il est prfrable de crer deux axes d'analyses : Typologie Produit et Produits.

    Vous l'avez compris, l'approche multidimensionnelle est simple et naturelle. Une organisation compte, selon lacomplexit de son activit, de trois douze dimensions (6) . Si vous en avez plus, vous devez simplifier votremodle. Le croisement de dimensions est souvent interprt comme une dimension en soit. Exemple, vous tes peuttre tent par une dimension Segmentation clientle , mais celle-ci ne revient-elle pas au croisement de votredimension Mtier et de votre dimension ? ge ?

    N'oubliez pas que la valeur ajoute d'un systme multidimensionnel provient essentiellement de ses dimensions etde la possibilit de les croiser, ce qui permet de mettre en perspective des mesures dans un contexte riche de sens.

    3-B-2 - Quelques patrons lis aux tables de dimensions

    Voici quelques modles connus et reconnus appliquer lors de la modlisation de vos dimensions.

    3-B-2-A - Les dimensions jeux de rle Ce modle reprsente le fait d'implmenter une seule dimension physique pouvant reprsenter plusieurs axesd'analyses pour les utilisateurs ; typiquement la dimension Temps . En tant que concepteur vous pouvez produirediffrentes vues de cette de table de dimension Temps afin de permettre aux utilisateurs d'utiliser diffrents axesd'analyses (exemple : date d'achat, date de livraison...). Vous ne grez donc qu'une seule dimension physique touten mettant disposition de vos utilisateurs plusieurs axes d'analyses.

    3-B-2-B - Les dimensions changement rapide

    Lorsqu'une dimension comporte un trs grand nombre de champs voluant en continu, il est prfrable de regrouperces champs dans une table satellite (relation 1->N). Les champs volution constante se retrouvent alors isolset disponibles travers une simple jointure. Le fait d'isoler ces champs volution rapide facilite la maintenance

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    12/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 12 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    et le traitement des erreurs de chargement. Cela permet galement de rduire l'impact sur votre dimension en casd'erreurs. Exemple, les produits financiers comme les actions avec leurs statuts et valorisations un moment T.

    3-B-2-C - Les flags dimensionnels ( utiliser avec modration)

    Il est parfois intressant de connatre si une occurrence de table de fait appartient un groupe , sans pour autantque ce groupe soit suffisamment important pour en faire une dimension. Dans ce cas prcis l'utilisation de flagsdimensionnels peuvent s'avrer utile. Le flag dimensionnel est un champ de nature dimensionnelle qui n'a pas unetable de dimension. Le flag dimensionnel n'est pas une cl trangre mais un flag avec ses valeurs propres (celles-ci doivent tre connues des utilisateurs). Exemple, pour chaque occurrence d'une table de fait lie un processusde vente, nous pourrions crer le flag dimensionnel Vente Direct avec les valeurs possible ['O' | 'N']. Il permetaux analyses de faire des statistiques comparatives entre les ventes dites directes et les autres partir d'uneseule table de fait.

    3-B-2-D - Les mini-dimensions ou dimensions dportes

    Lorsque la table de fait comporte beaucoup d'attributs spcifiques lis aux mesures, il est d'usage de dporterl'ensemble de ces attributs dans une table de type mini-dimension uniquement utilise pour interroger cette tablede fait. Une mini-dimension est donc gnralement lie une seule table de fait. Exemple, dans une table de faitqui comporte des mesures lies aux crdits, les attributs du crdit peuvent tre dports dans une mini-dimension.

    3-B-2-E - Les dimensions dgnres

    Un nom bien savant pour un modle relativement simple. Dans certains rapports, il s'avre parfois utile de proposerun accs vers le dtail ou d'ajouter des informations sur la transaction traite. La dimension dgnre consisteen un champ dans votre table de fait qui fait rfrence l'identifiant de la transaction dans la base oprationnelleou vers votre ODS(7) . Ce modle trs utile permet de vrifier la vracit des chiffres fournis ainsi que la valeurdes dimensions indiques. Exemple, un champ rfrence du contrat dans une table de fait de transaction vous

    permettra de crer un lien vers votre systme oprationnel afin d'accder ses proprits.

    3-B-2-F - Les dimensions horodates

    Ce modle consiste ajouter des dates de dbut et de fin de validit une table de dimension. Cette pratique peuts'avrer particulirement utile lorsqu'on sait que les donnes de la dimension sont prissables , exemple : une datede transfert ou de licenciement d'un employ (l'employ ne fait plus partie du service il ne doit pas apparatre dansla dimension) ; une date de fin de disponibilit d'un produit (le produit n'est plus rfrenc, il ne doit pas apparatredans la dimension)...

    3-B-2-G - La dimension audit

    Vritable cerise sur le gteau , la dimension audit consiste loger l'ensemble des informations sur le chargementde vos tables de fait et de dimensions. Cette dimension contient, entre autres, l'ensemble des mtadonnesrenseignes dans vos job ETL. Chaque feuille de cette dimension correspond un job ETL et l'ensemble des mesures(nombre d'oprations INSERT, temps d'excution, temps CPU, temps CPU rserv la qualit de donnes, etc.)sont bien entendu regroupes dans une table de fait.

    Vous pouvez galement rattacher la dimension audit toutes les occurrences de vos tables de fait travers unchamp rfrence job ETL . Cela vous permettra de connatre qui charg quoi, quand et comment ? .

    La dimension audit permet une traabilit et dmontre une certaine rigueur ainsi qu'un certain professionnalismedans la mise en place de votre systme dcisionnel.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    13/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 13 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    3-C - Maintenance d'un entrept de donnes multidimensionnel

    La maintenance et l'volution des dimensions long terme est un processus dlicat. Dans une approchemultidimensionnelle, vos dimensions tant communes l'ensemble des tables de fait, une simple erreur demaintenance sur une dimension aura un impact sur l'ensemble de votre systme dcisionnel. Vous marchez donc

    sur des oeufs...

    La bonne nouvelle, c'est qu'il n'existe pas trente-six faons de maintenir une dimension. Si vous respectez lesquelques conseils prodigus dans la partie les tables de dimensions lors de la conception de vos dimensions,vous pourrez mettre en place ces conseils de maintenance sans grande difficult.

    3-C-1 - Oprations de maintenance lies aux dimensions

    3-C-1-A - Ajout

    Avant d'ajouter une nouvelle occurrence de dimension, posez-vous les questions suivantes : cette occurrence a-t-elle

    sa place dans la structure hirarchique de ma dimension ? Les catgories parentes de celle-ci sont-elles rellementadquates ? Un chargement rtroactif de certaines tables de fait est-il ncessaire ?

    L'ajout d'une feuille dans un arbre de dimension est rarement problmatique, il faut juste veiller conserver unecohrence hirarchique et logique dans toute la hauteur de l'arbre.

    3-C-1-B - Suppression

    Votre arbre de dimension voluant, les utilisateurs ont maintenant accs des valeurs d'occurrence obsoltes. Voussouhaitez supprimer l'accs ses occurrences, pour cela deux mthodes possibles :

    premire mthode (conseille) : mettez en place un champ visibilit de l'utilisateur dans vos tables dedimensions et changez la valeur de ce champs lorsque l'occurrence est obsolte ;- avantage : mthode simple mettre en oeuvre, aucune opration de mise jour des tables de fait n'estncessaire,- inconvnient : des valeurs de dimension tant masques l'utilisateur et les tables de fait n'ayant subitaucune modification, il se peut que l'agrgat d'un rapport puisse ne pas reprsenter la somme des valeursaprs un drill-down sur la dimension ;

    seconde mthode : vous dcidez de supprimer l'occurrence de votre table de dimension. Ds lors, l'ensembledes occurrences dans vos tables de fait qui font rfrence cette valeur de dimension seront obsoltes.Vous devez alors mettre jour l'ensemble des tables de fait, en remplaant la rfrence de la dimensionsupprime par une rfrence de dimension valeur non applicable que vous aurez cre au pralable dansvotre dimension.

    Quelle mthode utiliser ?

    Si l'occurrence de dimension supprimer n'est plus rfrence par vos tables de fait depuis longtemps (exemple,une rfrence de produits qui n'existe plus depuis plusieurs mois), la mthode via un champ flag semble trela plus pertinente.

    3-C-1-C - Mise jour

    La modification d'une dimension est l'opration la plus dlicate. Comme pour la suppression nous pouvons distinguerdeux mthodes :

    premire mthode : vous remplacez simplement l'ancienne valeur par la nouvelle ;

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    14/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 14 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    - avantage : mthode est simple mettre en oeuvre et il n'y a aucun processus de traage d'volution mettre en oeuvre,- inconvnient : il y a un impact sur l'ensemble des rapports programms avant la modification ;

    seconde mthode (conseille) : en cas d'volution, vous ajoutez la nouvelle valeur sans supprimer l'ancienneque vous marquez comme non applicable partir d'un champ flag prvu cet effet. Ainsi lors duprocessus d'alimentation de la table de fait, c'est bien la nouvelle valeur qui est rfrence et non l'ancienne.

    Ici le nombre d'occurrences de la table de dimension augmente chaque modification.- avantage : aucun rapport n'est impact,- inconvnient : le processus de maintenance est un peu plus complexe.

    Les oprations d'ajout, de suppression et de mise jour de vos dimensions sont moins triviales qu'il ni parat. J'espreque cette courte prsentation vous permettra de cerner rapidement la problmatique de maintenance des dimensionsdans un entrept de donnes multidimensionnel.

    3-C-2 - Oprations de maintenance lies aux mesures

    Hormis les tables de fait de type rcapitulatif, les seules oprations effectues sur vos tables de fait seront des

    insertions (sauf erreur de chargement...). Toutefois, vous pourrez rencontrer des difficults de maintenance lie vos tables de fait, celles-ci peuvent provenir :

    3-C-2-A - Du volume de donnes traites :

    Une granularit trs fine dans une table de faits peut amener avoir traiter des millions d'occurrences. Les grosvolumes sont toujours dlicats traiter, si l'alimentation de cette table est en dpendance avec d'autres tables (desbases mtiers par exemple) c'est l'ensemble de vos traitements de nuit qui seront retards... (Une nuit de traitement une dure maximum de 12 heures). Vous devez absolument garder un oeil sur le temps de traitement de chacunede vos tables et sur les diffrentes dpendances de votre nuit batch.

    3-C-2-B - De la complexit du calcul des mesures :

    Des calculs de mesure complexes peuvent devenir problmatiques, exemple : les calculs de dlais ou les calculsqui doivent tenir compte de l'tat d'autres occurrences de tables oprationnelles. Hlas, ici, les compromis avec lesanalystes ne seront probablement pas possibles. Une dfinition de mesure ne doit pas tre change pour cause deproblme technique de mise en oeuvre. Essayez de mettre en place des vues des tables oprationnelle rduites etdivisez la complexit du calcul en diffrentes tapes plus simples : break it and make it easier .

    3-C-2-C - Des jointures avec les tables de dimensions :

    Pour dterminer le contexte des occurrences de vos tables de fait, vous allez devoir d'une manire ou d'une autre,

    dterminer quels sont vos cls de dimension pour chaque occurrence traite. Or, il arrive que pour diverses raisons(volution des tables oprationnelles ; erreur de chargement de vos dimensions ; problme de qualit des donnes) que vos lignes de mesure ne trouvent pas de correspondance dans vos dimensions. Ici attention, il ne faut surtoutpas perdre ces enregistrements ! Ces occurrences existent, elles doivent donc tre prises en compte dans le calculde votre mesure. Pour cela, je vous conseille de mettre en place une catgorie Non Applicable dans chacunede vos dimensions. Si votre enregistrement ne trouve pas de correspondance, il doit tomber par dfaut dans cettecatgorie Non Applicable . Vous serez ensuite apte isoler les enregistrements problmatiques pour les corriger.

    D'aprs ma propre exprience, ces trois points sont des problmatiques rcurrentes lies aux tables de fait. Cettecourte prsentation vous permettra sans doute de mettre en place un systme plus robuste.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    15/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 15 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    4 - Pour conclure

    4-A - Rappel et derniers conseils

    Ce petit trait autour du concept d'entrept de donnes multidimensionnel a donc mis en avant les diffrents conceptset points cls sur la mise en place ainsi que sur la maintenance d'un tel entrept.

    Pour conclure ce tmoignage, j'aimerai partager avec le lecteur encore quelques conseils techniques concernantl'implmentation ainsi que les facteurs cls de succs d'un tel projet.

    4-A-1 - Derniers conseils techniques

    Si vous avez rigoureusement lu l'ensemble de ce livre blanc, vous allez vous rentre compte que je radote un peu.

    Pour vos dimensions, utilisez plutt des cls physiques qui n'ont pas de sens logique. Cela facilite lesoprations de maintenance et force vos utilisateurs ne pas interroger les tables de fait en direct (sans

    passer par une dimension). Sauvegardez des images de vos dimensions moment T par exemple travers la mise en place de

    tables mensuelles (image de la table en fin de mois). Utilisez et abusez des flags pour connatre l'tat et la visibilit des occurrences, ils vous seront souvent

    trs utiles. Soyez conscient de l'impact de la modification de feuilles ou de noe?uds de votre arbre de dimension.

    Une mauvaise gestion des dimensions peut avoir de graves incidences sur l'ensemble de votre march del'information.

    Faites vous conseiller par un administrateur de base de donnes. Il saura vous guider sur les types d'indexet le schma de partitionnement mettre en place. L'optimisation de votre base de donnes n'est pas uneoption.

    Break it and make it easier (diviser pour mieux rgner)

    Not everything that can be counted counts, and not everything that counts can be counted. (Ce quicompte ne peut pas toujours tre compt, et ce qui peut tre compt ne compte pas forcment).

    4-B - Les cinq Facteurs cls de succs

    4-B-1 - Comprhension du mtier

    Lorsque vous choisissez de mesurer un processus, assurez-vous que vous tes entour de personnes qui matrisenttotalement et en profondeur les workflow (8) en jeux.

    Avant d'essayer de dfinir Quoi mesurer ? l'quipe en charge doit comprendre et dfinir Pourquoi le mesurer ?

    . Plus l'quipe en charge matrise le mtier, plus vos mesures seront justes et pertinentes.

    4-B-2 - Atomicit de la table des faits

    Le choix de la granularit des donnes de votre table des faits est primordial. C'est ce choix de granularit quidtermine votre capacit rpondre aux questions de vos utilisateurs. Le cot de stockage de la donne diminuant,les organisations ont tendance descendre au niveau le plus fin disponible, cela semble cens : qui peut le pluspeu le moins. Toutefois attention, un volume trop important vous obligera soit crer des tables de fait priodiquessoit imposer un temps de traitement plus important vos utilisateurs (sachant que vos collaborateurs perdrontvite patience d'avoir attendre 10 minutes entre chaque clic). Comme toujours, tout est histoire de compromis.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    16/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 16 -Copyright 2011 Carlos Da Costa. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/

    4-B-3 - Acceptation par les utilisateurs

    Les donnes que vous mettez disposition de vos utilisateurs ne doivent pas tre remises en cause. Il y a deuxprincipales variables jouant sur l'acceptation par les utilisateurs :

    la vracit des donnes : est-ce que les donnes qu'on me prsente sont exactes ? Comment pourrais-jeles vrifier ? Pour ne pas que vos utilisateurs puissent remettre en question la vracit des donnes, vous devez leurfournir un accs un niveau de dtail oprationnel qu'ils ne peuvent pas remettre en cause. Si les rapportssont remis en question pour cause d'erreur de donnes, c'est tant mieux ! Chaque erreur dtecte et corrigeen profondeur (correction de la source initiale de la donne) doit tre considre comme un pas de plus dansvotre processus de la qualit de donnes.

    la pertinence des indicateurs : mais qu'elle est l'utilit de cette mesure ? Qu'elle est mon moyen d'action ?. Construisez votre systme de mesure avec des personnes issues du mtier. Pour impliquer vosutilisateurs, assurez-vous qu'il existe une variable d'action attach aux mesures que vous mettez en oeuvre.

    Si vos utilisateurs pensent que les donnes prsentes sont mal calcules ou ne sont pas pertinentes par rapport

    au processus mesur, c'est l'chec assur. Ils n'accepteront pas le systme de mesure que vous vous efforcez demettre en place.

    4-B-4 - Le nombre et la pertinence des dimensions

    Rappelez-vous que les dimensions sont communes l'ensemble des processus mesurs. Elles doivent donc tresimples et gnriques.

    Limitez-vous dans le nombre de dimensions. Selon la complexit du secteur d'activit de votre organisation vousdevriez avoir de 3 15 dimensions.

    Si vous avez plus de 15 dimensions : supprimez-en ! La complexit de votre systme vous mnera sans doute desproblmes de qualit de donnes rcurrents, voir l'abandon du projet.

    Si vous avez moins de trois dimensions : vous ne matrisez sans doute pas le concept de dimension et vous necomprenez sans doute pas la puissance de l'analyse multidimensionnelle.

    4-B-5 - Dfinition commune et mtadonnes

    La dfinition de vos mesures doit tre unique et commune l'ensemble de l'organisation. L'quipe en charge dusystme d'information dcisionnel doit tre la garante de cette unicit. Le processus de gestion des mtadonnesdoit faire partie intgrante du processus de maintenance et de mise en place des mesures.

    4-B-6 - Le SPONSOR

    Unifier et standardiser travers un systme de mesures transverses a un cot et exige une certaine autorit. Vousdevez avoir un SPONSOR de poids. Si vous n'avez pas le soutien direct de la direction du systme d'information oude la direction gnrale, toute tentative de mise en place d'un systme de reporting global sera un chec.

    5 - Remerciements

    Je tiens remercier l'ensemble de la rdaction de developpez.com pour m'avoir donn la chance de partager ce livreblanc et plus particulirement KalyParker,jacques_jeanPierre-Andr G. ainsi qu'Aurlie M. pour leurs disponibilits

    et leurs conseils aviss.

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u136637/kalyparker/http://www.developpez.net/forums/u83713/jacques_jean/http://www.developpez.net/forums/u83713/jacques_jean/http://www.developpez.net/forums/u136637/kalyparker/http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/
  • 7/22/2019 Mettre en place un entrept de donnes multidimensionnel

    17/17

    Mettre en place un entrept de donnes multidimensionnel par Carlos Da Costa

    - 17 -Copyright 2011 Carlos Da Costa Aucune reproduction mme partielle ne peut tre faite de ce site et de l'ensemble de son contenu : textes documents images etc sans l'autorisation

    1: balanced scorecard : tableau de bord quilibr permettant d'analyser de faon globalel'activit d'une organisation. Gnralement compos de quatre perspectives (finance, client,processus cls, innovation et dveloppement) regroupant des objectifs (eux-mmes compossd'indicateurs cls) relis les uns aux autres, formant ainsi une carte stratgique. Le but tantd'exprimer les corrlations existantes entre chaque objectif.

    2: Bus : ensemble de plusieurs fils conducteurs ou de circuits, disposs en lignes parallles,reliant diffrents blocs fonctionnels et composants.3: tapes dtermines par Ralph Kimball et Margy Ross dans le livre Entrepts de donnesGuide pratique de modlisation dimensionnelle 4: DBA : Database Aministrator (Administrateur de base de donnes)5: Typologie dtermine par Ralph Kimball et Margy Ross dans le livre Entrepts de donnesGuide pratique de modlisation dimensionnelle 6: Selon Ralph Kimball (gourou de la modlisation dimensionnelle).7: ODS : Operational Data Store est une base de donnes conue pour centraliser lesdonnes issues de sources htrognes afin de faciliter les oprations d'analyse et de reporting

    (source : wikipedia).8: Workflow : un workflow (anglicisme) est la reprsentation d'une suite de tches ouoprations effectues par une personne, un groupe de personnes, un organisme, etc. Le termeflow renvoie au passage du produit, du document, de l'information, etc. d'une tape l'autre.(source : wikipedia)

    http://business-intelligence.developpez.com/tutoriels/DWH_multidimensionnel/http://www.developpez.net/forums/u194323/carlos-dacosta/http://www.developpez.com/