0

会社での従業員の役割を示すスター スキーマがあります。最も単純には次のとおりです。

DimDate

DimPerson

DimPaygroup

DimRole

ファクト テーブルは次のようになります: PersonID、RoleID、PaygroupID、StartDate、EndDate

それが現在の役割である場合、Enddate は 2199 年 12 月 31 日に設定され
ます。 問題は、Paygroup を追跡する必要があることです。これは、個人の役割が変更されなくても変更される可能性があるためです。

私の最初の計画は、PayGroupEndDate というファクト テーブルに追加の列を追加することで、これを遅れて到着したファクトとして扱うことでした。これは、支払いグループが変更され、新しい行が追加されると更新されます。ただし、これが最善の解決策であるかどうかはわかりません。

ゆっくりと変化するディメンションにすることで、これをより適切に処理できますか?

StartDate と EndDate は役割専用です。つまり、人が役割を開始して退職するデータです。それがファクト テーブルの粒度です。

人は同じ役割にあり、ペイグループ間を移動することができ、これも追跡する必要がありますが、私はこれを SCD として実行しようとしていました。

更新: 個人ディメンションの属性として残すのではなく、PAYGROUP の新しいディメンションを作成することだけを考えていました。そのように変更すると、新しいレコードが入力されます。それは問題の簡単な解決策ですか?

4

0 に答える 0