ディメンションデータストアのソースとして使用する正規化されたデータベースがあります。私が収集しているfactsの1つはOrders
であり、正規化されたスキーマはおおよそ次のようになります。
ただし、ソースシステムで新しい注文が作成されると、サイズ情報がないため、OrderDetailUnits
テーブルにそのレコードがありません。
これらのテーブルを単一の非正規化テーブルにフラット化するOrders
ソーステーブルを作成することを計画していますが、最新の注文データのかなりの数の最低レベルのレコードがありません...これは、ビジネスに関する限り、期待されるです。
Orders
ファクトをどのように構成する必要がありますか? 「AllOrders」と「SizedOrders」のファクトテーブル/キューブを別々に作成することは、ビジネスユーザーにとって煩わしいことです。
同意する。ビジネスユーザーは、「AllOrders」および「SizedOrders」ファクトテーブルを望んでいません。
OrderDetailUnits
ごとに、合法的にnullのエントリがある合成行をOrderDetail
に作成することをお勧めします。 OrderDetailUnits
にあるディメンションごとに、*NotApplicable*
などを入力することをお勧めします。
あなたがしていることと完全に平行ではありませんが、私はいくつかのアイデアを得るために Late Arrriving Dimensions を読むことをお勧めします。