前回からの続きをメモ
前回の記事:
The Data Warehouse Toolkit を読む #3: Inventory
調達プロセスにおけるディメンショナル・モデルの構築。
Bus Matrix
調達プロセスをモデリングするならば、このような Bus Matrix が考えられる。
分かりやすくするために、行 (row) の定義と指標 (metrics) も書いてある。
![](https://www.kwonline.org/memo2/wp-content/uploads/2021/06/procure_bus.png)
調達プロセスにおける Bus Matrix の例
Fact Table
そしてこの Bus Matrix からファクトテーブルを作るとこうなる。
![](https://www.kwonline.org/memo2/wp-content/uploads/2021/06/procure_fact.png)
Procurement process fact tables の例
Slowly Changing Dimension (SCD)
さて今回の本題は SCD の基本について。
Dimension の更新をどうするかという話。
基本形は2つ。上書き型の Type1 か、追記型の Type2 に分かれる。
SCD Type 1
Dimension に変更があった場合に値を上書き更新するのが SCD Type1.
つまりこういう事。
![](https://www.kwonline.org/memo2/wp-content/uploads/2021/06/procure_scd1.png)
SCD type 1
製品カテゴリが変わったのでそのまま上書き。
これだと過去の分析に問題ありますわな。
SCD Type 2
Dimension に変更があった場合に新たな行を追記するのが SCD Type2.
つまりこういう事。
![](https://www.kwonline.org/memo2/wp-content/uploads/2021/06/procure_scd2.png)
SCD type 2
開始日・終了日・現在フラグ この3個のカラムを使って新しい情報を追記していく。
PK には新しいサロゲートキーを割り当てる。
これなら過去のデータが変わらなくて良い。
他に応用系で Type7 まであるけど使うことはないからスルー
今回はここまで。
つづく。