2017-02-21 9 views
1

私はSCDと代理キーを使用して経時変化を追跡するEmployee次元を持っています。代理キーを持つ次元(データウェアハウス)

従業員の業務システムキー:私はマネージャーの情報は、同様に時間をかけて追跡したいと思いEmployeeSCDKey

従業員サロゲートキーを社員。管理者は、皆のような従業員であり、そのように、私はそうのような私の従業員次元でManagerSCDKey列を持っていることについて考えていた:

例:

Example

これは、私が直面しています問題がありますしかし、。矢印は、ある変換から次の変換への境界を示しています。マネージャーがジョブ(または他のタイプ2のSCDフィールド)を変更し、それらのために新しい代理キーが作成された場合、その変更は、次回ディメンションが変換されるまで認識されません。

これは、2番目の変換までは赤色の行が表示されないため、この時点でJoeに関連付けられたファクト行には古いマネージャ情報が含まれることを意味します。

私はそれがこれに沸く推測:

は、このパターンを動作させる方法はありますか? (キーが入っているディメンション)

同じタスクを実行するためには、より良い方法がありますか?私は従業員の次元に非常に似ているマネージャディメンションを維持したくないですが、それがベストプラクティスであればそれもそうです。

+0

ベストプラクティスは、Managerの別のディメンションを持つことです。同じ次元で2つのSCDキーを維持するのは面倒です。次のリンクの別のアプローチをご覧ください:http://blogs.adatis.co.uk/simonwhiteley/post/Slowly-Changing-Parent-Child-Dimensions-Part-1-The-Theory – MayowaO

答えて

1

ここではいくつかの選択肢の良い議論は、私はあなたが必要なものと一致しているものを見つけると確信しています:http://www.informationweek.com/software/information-management/kimball-university-five-alternatives-for-better-employee-dimension-modeling/d/d-id/1082326?page_number=1

私はおそらくブリッジテーブル「へのレポート」のいくつかの種類を選ぶだろう、多分持ちますどのように動作させるか(そしてタイプ2のSCDテーブルを解決するために)サロゲートキーではなく自然キーを使用します。別に作成されたマネージャーディメンションを持つ必要はなく、従業員にブリッジテーブルを2回指してもらいます。

関連する問題