The Data Warehouse Toolkit を読む #3: Inventory

 
前回からの続きをメモ。

前回の記事:
The Data Warehouse Toolkit を読む #2: Retail Sales

在庫管理におけるディメンショナル・モデルだとファクトテーブルの構成方法は3種類ある。

 

Inventory Periodic Snapshot

ベーシックな方法だとこれ。
日別に在庫数のスナップショットを記録する方法。

Inventory Periodic Snapshot Fact の例

 

Inventory Transactions

こちらはトランザクション毎に記録する方法。

  • 商品がベンダーから到着
  • 商品の検品
  • 検品が終わった商品を倉庫へ移動
  • 検品に通過しなかったの商品をベンダーに返却
  • 倉庫へ商品を移動
  • 倉庫から商品を取り出し
  • 商品の出荷
  • カスタマーからの返品受け付け
  • 返品商品を倉庫に戻す

などなどのトランザクション毎に一行というモデル。

Inventory Transactions Fact の例

 

Inventory Accumulating Snapshot

最後は、アイテムのロット毎にイベントを記録・更新する方法。
複数の日付ディメンションがあり、業務フローの中で都度更新される。
上記2つはファクトテーブルが更新される事はないけど、この方法だとイベントが起きる度に更新される。

Inventory Accumulating Snapshot Fact の例

いずれもメリデメはあるので要件にあったものを選ぶべし。

 

Bus Matrix

ここまで小売業モデルと在庫管理モデルが出てきた。
これらのファクトに対して「日付ディメンション」や「商品ディメンション」は共通のディメンション、Conformed Dimension になる。

これら Facts x Dimensions をマトリクスにしたものが Bus Matrix になる。
という訳でディメンショナルモデルをこんな感じの表にする。

Bus Matrix の例

今回はここまで。

つづく。