Modélisation dimensionnelle 9
Imprimer ce billetCe chapitre se penche sur les services financiers.
Lorsque l’on a peu de dimensions, il faut vérifier que les dimensions suivantes sont présentes.
- L es dimensions causales telles que Promotion, Contrat, Affaires… qui renseignent sur la cause d’un événement.
- Les dimensions de dates multiples ou d’horodatage.
- Les dimensions dégénérées (DD) telles que N° de facture… qui identifient une ligne de la table de faits.
- Les dimensions à jeu de rôles qui apparaissent lorsqu’une dimension est utilisée plusieurs fois.
- Les dimensions d’état telles que l’état d’un compte, qui identifient l’état actuel d’une transaction ou d’un instantané mensuel.
- Les dimensions audit pour suivre l’origine et la qualité des données
- Les dimensions fourre-tout qui regroupent indicateurs et drapeaux corrélés.
Ces dimensions peuvent être ajoutées au modèle sans rien perturber. Elles ne modifient pas les clés des dimensions existantes ni les faits mesurés, ni le grain de la table de faits.
En fait, « tout attribut descriptif ayant une seule valeur pour différentes mesures de la table de faits est susceptible d’être ajouté à une dimension existante ou de devenir lui-même une dimension. »
Les banques étudient les relations entre les comptes et les foyers. Pour cela elles peuvent utiliser des algorithmes complexes de rapprochement. Pour autant, les comptes et les foyers sont séparés en deux dimensions distinctes (car ils sont variables mais leur variation n’est pas trop corrélée). La relation entre comptes et foyers passe donc par la table de faits, ce qui évite de gérer l’évolution de ces dimensions avec l’approche de type 2.
Pour traiter les dimensions à valeurs multiples, il faut utiliser une table passerelle pour relier les diverses valeurs d’attribut à la dimension. Par exemple, un compte bancaire peut avoir un ou plusieurs titulaires. La dimension client est liée à la dimension compte par l’intermédiaire d’une table passerelle. Le compte lui est lié à la table de faits. La dimension client évoluant rapidement, il est nécessaire de créer des mini-dimensions qui regroupent des attributs corrélés (notation mensuelle de crédit, données démographiques…). Pour éviter un trop grand nombre de lignes dans les mini-dimensions, il est conseillé d’utiliser des plages de valeurs d’attributs. Dans certains cas, on peut conserver la valeur exacte de l’attribut dans la table de faits.
Pour créer des plages de valeurs d’attributs, on peut employer une table définissant ces plages avec : une clé pour le groupe de plages, une clé pour l’ordre de tri du groupe, le nom du groupe, le nom de la plage de valeurs, la valeur inférieure et la valeur supérieure. La jointure avec la table de faits est double (ex. : FAITS.solde >= PLAGE.valeur_inférieure AND FAITS.solde < PLAGE.valeur_supérieure).
Lorsque l’on veut analyser des produits différents ; il est nécessaire d’avoir une table de faits centrale permettant l’analyse indépendamment des produits (à partir de leurs caractéristiques communes) et des tables de faits sur mesure pour analyser les faits selon les attributs spécifiques à des produits particuliers. On peut utiliser une table déportée de la dimension produit pour stocker les attributs spécifiques et laisser les attributs communs à tous les produits dans la dimension produit.
Source : Ralph Kimball et Margy Ross, « Entrepôts de données, guide pratique de modélisation dimensionnelle« , 2ième édition.