ARCHITECTURE
11/3/2024
Accumulation de cubes bleusPhoto de Marie de Vesvrotte
Marie de Vesvrotte
Responsable Marketing

Modélisation des données : l’approche dimensionnelle

Avoir un modèle de données complet, sécurisé et unifié, c’est s’assurer d’avoir une base de données logique et simplifiée qui élimine les doublons, optimise les performances des requêtes et libère de l’espace de stockage.

L’idée ? Transformer vos données brutes (données comptables, opérationnelles, RH, non-financière...) pour faciliter leurs analyses et identifier des axes de performance.

Nettoyage des données, définition des mesures et des dimensions, optimisation des données à l’aide de hiérarchies, définition d’unités et de devises... : ce processus sert à concevoir et à décrire de manière structurée la façon dont les données seront organisées, stockées et inter-reliées au sein de votre système d’information pour préparer vos données à l’analyse.

Attention, si vos données n’existent pas à la source, pensez bien que vous ne pourrez pas développer des axes d’analyse.

Qu'est-ce que l'approche dimensionnelle pour la modélisation des données ? 

Développé par Ralph Kimball, l’approche dimensionnelle, moins rigide et structurée, s’appuie sur une modélisation des données qui s’aligne sur les processus métier en mettant l’accent sur la simplicité et la facilité d’utilisation.

Ce type de modélisation permet une récupération rapide des informations à partir de grands ensembles de données en fournissant une structure qui sépare les données sans rapport ou sans conséquence du corps principal.

En décomposant vos données en entités clairement définies et organisées, vos consommateurs peuvent comprendre ce que sont ces données, à quoi elles servent et comment les joindre à des données nouvelles ou supplémentaires. Le modèle dimensionnel aide également à identifier les relations entre différents types de données, permettant une analyse plus approfondie des tendances et des modèles.

Cette approche repose autour de concepts clés appelés dimensions et faits : 

  • Les dimensions : elles représentent les aspects des données que l’on souhaite analyser. Ce sont les caractéristiques des données qui fournissent un contexte pour les mesures. Par exemple, une dimension temporelle pourrait inclure des éléments tels que l’année, le trimestre, le mois, etc. Une dimension géographique pourrait inclure des informations sur les régions, les pays, etc. 
  • Les faits : les faits sont les mesures numériques que l’on souhaite analyser. Il s’agit des données quantitatives telles que les ventes, les revenus, les quantités vendues, etc.

Avant de vous parler de conception, passons en revue un peu de vocabulaire.

  • Tables de faits : stocke l’unité de mesure la plus élémentaire d’un processus métier. Chaque ligne de la table de faits est associée à une combinaison spécifique des dimensions. Voici quelques exemples concrets : les achats, les commandes...
Exemple de tables de faits

  • Tables de dimensions : stocke le qui, quoi, quand et où de chaque processus métier. Ces tables contiennent les informations descriptives liées aux dimensions. Chaque ligne représente une entité unique de la dimension avec ses attributs. 
Exemple de tables de dimensions

  • Clé primaire : colonne dans une table de dimensions identifiant une ligne de données unique. Les clés primaires sont référencées par des clés étrangères pour joindre des tables de faits et de dimensions. 
Exemple de clé primaire

  • Clé étrangère : une colonne qui fait référence à une autre table (d’où le nom étranger). Elle est utilisée pour joindre les données de deux tables, généralement une table de faits et de dimensions.
Exemple de clé étrangère

Conception d’un modèle de données dimensionnel 

Afin de faciliter la compréhension du processus de modèle dimensionnel, prenons un exemple. Utilisons les ventes de vêtements comme processus de vente et utilisons la transaction suivante comme exemple simple. Disons que Arthur, un employé du magasin, facture à Marie 1 robe, 1 chapeau et 1 paire de bottes au magasin n°3 de Paris le mercredi 29 novembre 2023.

Voici à quoi ressembleraient ces données dans un système transactionnel avec un sous-ensemble de détails sur l’achat. 

Modèle de données dimensionnel

Vous pouvez probablement imaginer à quel point cela pourrait rapidement devenir incontrôlable avec des milliards de transactions, des millions de clients et des milliers de magasins. L’interrogation de données transactionnelles à cette échelle peut créer un énorme goulot d’étranglement dans les rapports, avec des requêtes qui mettent des heures à être renvoyées, voire qui expirent. Et on ne parle même pas du nombre de doublons !

Maintenant que vous avez un peu de contexte, voici 5 étapes à suivre pour vous aider à modéliser vos données : 

Identifiez le processus métier que vous souhaitez suivre

Dans l’exemple ci-dessus, nous souhaitons suivre les ventes dans un magasin de vêtement. Mais il peut s’agir de tout ce qui représente un processus métier “réalisé”. 

Choisissez la granularité des données de fait

Cela dépendra du volume total de données au niveau des transactions. C’est généralement une bonne idée de commencer avec les données les plus fines et de stocker chaque élément de transaction de vente. 

Créer vos dimensions

Identifiez les attributs impliqués dans chaque transaction et créez des tables de dimensions distinctes pour eux. Chaque enregistrement de la table de dimensions doit être unique et être associé à une clé primaire numérique. Dans cet exemple, les magasins, les produits, les clients, les employés et les dates sont autant de dimensions de la vente. 

Dimension magasin

Dimension produit

Dimension temps

Dimension client

Dimension employé

Consolidez les faits

Les mesures restantes, telles que la quantité et le montant des ventes, sont vos mesures et appartiennent à une table de faits. À côté de chaque mesure, vous devez disposer de clés étrangères faisant référence à toutes les dimensions impliquées dans le processus, telles que le produit, le client et le magasin. 

Faits sur les ventes au détail

Modélisez vos données

Pour modéliser vos données, deux solutions s’offrent à vous, le schéma en étoile ou le schéma en flocon. 

  • Schéma en étoile : dans un schéma en étoile, il existe une table de faits centrale qui peut être jointe aux tables de dimensions pertinentes. Cette approche dénormalisée permet d’avoir de meilleures performances de requêtes par rapport au schéma en flocon. 
Schéma en étoile

  • Schéma en flocon : un schéma en flocon est simplement une extension d’un schéma en étoile; les tables de dimensions sont liées à d’autres tables de dimensions (on parle aussi de jointure), ce qui leur donne une forme de flocon de neige. 
Schéma en flocon

Pour terminer notre exemple, voici un schéma en étoile pour représenter notre cube de vente. 

Exemple de schéma en étoile

Vous pensiez que c’était terminé ? Et bien non, pour compléter votre analyse il faudra créer 3 dimensions supplémentaires : 

  • Dimension “Audit” : grâce à cette dimension vous pourrez suivre la saisie et l’entrée de données d’un utilisateur, et plus globalement l’ensemble des modifications apportées aux données, aux paramètres ou aux configurations. 
  • Dimension “Scénario” : la dimension scénario englobe un ensemble de données, telles que le réel, le budget, ou les prévisions. Contrairement aux dimensions ordinaires, les dimensions de scénario ne sont pas regroupées dans une seule catégorie racine car les valeurs ne seraient pas utiles. 
  • Dimension “YTD” : elle permet à l’utilisateur d’examiner les périodes passées et d’obtenir le cumul annuel, trimestriel ou mensuel (YTD). 
Rond violet avec fleche vers le haut