これは非常に幅広いディスカッションの質問なので、ここでいくつかのディスカッションを行います。
寸法表
-- Products -----
ProductId
Name
(etc.)
追跡される製品ごとに 1 つの行が含まれます ProductId は代理キーである必要があります
-- Time --------
TimeId
ReportingPeriod (Q1, week 17, whatever as desired)
(etc.)
追跡される日ごとに 1 つの行が含まれます。1 日の活動の結果が分かれば、倉庫に追加できます
TimeId は代理キーである必要はないことに注意してください
ファクト テーブル
-- Inventory -------------------------
ProductId
TimeId
1 日の活動の結果が判明したら、それらを倉庫に追加できます 製品ごとに 1 行 (1 日あたり)、その日の終わりの時点で利用可能な在庫を一覧表示します
しかし、さらに複雑になります。どのデータが必要で、どのデータを利用できるのでしょうか? データが 1 日分であると仮定すると、追跡および記録する可能性のある事実は次のとおりです。
StartingInventory -- What you had at the start of the day
UnitsReceived -- Units received for storage today
UnitsSold -- Units sold (that cannot be sold again) but not yet shipped
UnitsShipped -- Units shipped (sold or otherwise)
EndingInventory -- Units in stock at end of day
すぐに複雑になります。繰り返しになりますが、入手可能な情報と、倉庫にどのような質問がされるかによって大きく異なります。