Vous êtes sur la page 1sur 3

Ecole des Sciences de L’Information

ETL - Slowly Changing Dimension


Le concept de Slowly Changing Dimension concerne les valeurs des attributs de dimension qui changent.

Dépendamment de l'exigence métier le datawarehouse peut agir différemment pour chaque


changement. Par exemple, un changement de nom ou de téléphone n'est parfois pas important, il peut
donc être mis à jour et aucun journal d'historique n'est requis. Cependant, un changement dans la ville
du client peut être important et nous voulons que l’entrepôt de données conserve la ville précédente
ainsi que la nouvelle ville et la date et l’heure du changement. Comme il existe différents
comportements pour chaque type de changement, il existe différents types de SCD (Slowly Changing
Dimension).

SCD Type 0 : Aucun changement. Ce type ne conserve aucun changement d'attribut. Il ne conserve que
la valeur d'origine sans aucune modification. Il est principalement utilisé pour les attributs qui ne
peuvent pas être modifiés, comme la date de naissance.

SCD Type 1 : Écrasement de l’historique. Une modification de type 1 remplace un attribut dimensionnel
existant par de nouvelles informations. Dans l'exemple de changement d’un attribut du client, la
nouvelle valeur remplace l'ancienne et la valeur de l'ancienne version est perdue. Une modification de
type 1 met à jour uniquement l'attribut, n'insère pas de nouveaux enregistrements et n'affecte aucune
clé.

SCD Type 2 : Préservation de l’historique. Une modification de type 2 écrit un enregistrement avec les
nouvelles informations d'attribut et conserve un enregistrement des anciennes données
dimensionnelles. Les modifications de type 2 permettent de conserver les données historiques.
L'implémentation de modifications de type 2 dans un datawarehouse peut nécessiter une analyse et un
développement importants et, étant donné qu’elles ajoutent des enregistrements, peuvent augmenter
considérablement la taille de la base de données.

Slowly Changing Dimension – Customers


Pour la dimension Customers, on considère les changements suivant :

• FullName et BirthDate sont un attribut fixe, il ne peut être changé (Type 0).
• EmailAddress est un attribut changeant. Il n’existe pas de besoin métier pour garder l’ancienne
valeur, donc si changement, écraser la valeur de l’attribut (Type 1).
• City est un attribut historique. Il est nécessaire de garder l’historique pour les besoins d’analyse,
donc si changement, sauvegarder la valeur dans un nouvel enregistrement (Type 2).

Etape 0 : Modification de la Dimension Customers


Pour pouvoir implémenter la transformation « Slowly Changing Dimension », dans SQL Server Manager
Studio, modifier la table « Customers » de la base de données « LightAdventureWorksDW » pour
ajouter un champ textuel « Status ».

Datawarehouse
Ecole des Sciences de L’Information

Création de transformation dimension à variation lente


1. Choisir le gestionnaire de connexions pour accéder à la source de données
(LightAdventureWorksDW) contenant la table de dimension (Customers) que vous souhaitez
mettre à jour.
2. Sélectionner la table de dimensions (Customers) que vous souhaitez mettre à jour.
3. Définir les attributs de clé sur les colonnes et mappez les colonnes d'entrée aux colonnes de la
table des dimensions.
4. Choisir une colonne de clé significative (CustomerAlternateKey) dans la table de dimension et
la mapper à une colonne d'entrée (CustomerID). D'autres colonnes d'entrée peuvent être
associées à des colonnes de la table de dimension en tant que mappages non clés.
5. Choisir le type de modification pour chaque colonne.
a. Changing Attribute : écrase les valeurs existantes dans les enregistrements.
b. Historical Attribute : crée de nouveaux enregistrements au lieu de mettre à jour des
enregistrements existants.
c. Fixed Attribute : indique que la valeur de la colonne ne doit pas changer.

Définir les options d’attributs fixes et changeants


6. Si vous configurez des colonnes pour qu'elles utilisent le type de modification d'attribut Fixe,
vous pouvez indiquer si la transformation de dimension à modification lente échoue lorsque
des modifications sont détectées dans ces colonnes.
7. Si vous configurez les colonnes pour utiliser le type de modification attributs changeants, vous
pouvez spécifier si tous les enregistrements correspondants, y compris les enregistrements
obsolètes, sont mis à jour.

Définir les options d'attributs historiques


8. Si vous configurez des colonnes pour utiliser le type de modification d'attribut Historique, vous
devez choisir comment distinguer les enregistrements actuels des enregistrements arrivés à
expiration. Vous pouvez utiliser une colonne d'indicateur de ligne actuelle ou deux colonnes de
date pour identifier les lignes actuelles et expirées.
a. Si vous utilisez la colonne d'indicateur de ligne actuelle, vous pouvez la définir sur
Current ou True si active et Expired ou False lorsqu'elle a expiré. Vous pouvez
également entrer des valeurs personnalisées.
b. Si vous utilisez deux colonnes de date, une date de début et une date de fin, vous
pouvez spécifier la date à utiliser lors de la définition des valeurs de colonne de date en
saisissant une date ou en sélectionnant une variable système, puis en utilisant sa valeur.

Spécifier la prise en charge des membres inférés et choisir les colonnes que contient
l'enregistrement de membre inféré.
9. Lors du chargement de mesures dans une table de faits, vous pouvez créer des enregistrements
minimaux pour les membres inférés qui n'existent pas encore. Plus tard, lorsque des données
significatives sont disponibles, les enregistrements de dimension peuvent être mis à jour. Les
types suivants d’enregistrements minimaux peuvent être créés :
a. Enregistrement dans lequel toutes les colonnes comportant des types de modification
sont nulles.

Datawarehouse
Ecole des Sciences de L’Information

b. Enregistrement dans lequel une colonne booléenne indique que l'enregistrement est
un membre inféré.

Datawarehouse

Vous aimerez peut-être aussi