私はSCDと代理キーを使用して経時変化を追跡するEmployee次元を持っています。代理キーを持つ次元(データウェアハウス)
従業員の業務システムキー:私はマネージャーの情報は、同様に時間をかけて追跡したいと思いEmployeeSCDKey
:
従業員サロゲートキーを社員。管理者は、皆のような従業員であり、そのように、私はそうのような私の従業員次元でManagerSCDKey列を持っていることについて考えていた:
例:
これは、私が直面しています問題がありますしかし、。矢印は、ある変換から次の変換への境界を示しています。マネージャーがジョブ(または他のタイプ2のSCDフィールド)を変更し、それらのために新しい代理キーが作成された場合、その変更は、次回ディメンションが変換されるまで認識されません。
これは、2番目の変換までは赤色の行が表示されないため、この時点でJoeに関連付けられたファクト行には古いマネージャ情報が含まれることを意味します。
私はそれがこれに沸く推測:
は、このパターンを動作させる方法はありますか? (キーが入っているディメンション)
同じタスクを実行するためには、より良い方法がありますか?私は従業員の次元に非常に似ているマネージャディメンションを維持したくないですが、それがベストプラクティスであればそれもそうです。
ベストプラクティスは、Managerの別のディメンションを持つことです。同じ次元で2つのSCDキーを維持するのは面倒です。次のリンクの別のアプローチをご覧ください:http://blogs.adatis.co.uk/simonwhiteley/post/Slowly-Changing-Parent-Child-Dimensions-Part-1-The-Theory – MayowaO