Bonjour,
Il y a eu plusieurs discussions sur l'historisation, mais je n'ai hélas pas trouvé la réponse que je cherche. Pourtant Google est mon super ami.
Je cale depuis plusieurs jours sur cette question qui porte à la fois sur la gestion du changement et l'historisation des données, que ce soit dans des tables de fait de base (granularité la plus fine identique à celle du système opérationnel) ou les tables agrégées. Je ne parle pas ici du Slowly changing dimensions mais plutôt du Slowly changing facts, si je puis me permettre l'analogie.
Les changements sont variés : commande de décembre annulée en février ou au contraire une commande au départ de 100 euros en décembre et qui passe à 200 euros en février. Un taux de remise de 3% qui passe à 5% en février pour une commande passée en décembre. Si on change les données de décembre, les utilisateurs relançant leurs états sur décembre ou faisant des comparatifs mensuels verront leur reporting de décembre modifié. Et ce n'est pas envisageable, à part vouloir faire du support téléhonique et de l'exploration de données toute la journée pour expliquer chaque centime d'écart.
En clair, comment faites-vous pour gérer les changements du système opérationnel au niveau des faits, sans remettre en cause le reporting existant issu du datawarehouse? Certains changements peuvent même aller jusqu'à la suppression physique de la donnée (ce qui ne doit jamais arriver, mais bon).
Et en fait, je parle de changements entre décembre et février, mais ce pourrait être entre hier et aujourd'hui. Une fois que la donnée est communiquée à l'extérieur, elle ne devrait plus changer. Mais l'opérationnel lui change. Alors...?
Egalement, comment vérifier qu'un attribut d'une dimension/d'une table de fait a changé sans comparer un à un tous les champs? Je reprends l'exemple d'une commande passée en décembre pour laquelle une remise passe à 5% pour une ligne de la table détail_commande au niveau d'un produit. Mais ça peut être un autre lieu de livraison de la commande ( ce qui modifierait le total par région) ou un changement de commercial (ce qui changerait le total par commercial).
Désolé de ce message un peu long, mais je souhaitais éviter les ambigüités et les quiproquos.
Merci de vos réponses.
Partager