1

次のような状況があるとします。

揮発性でないいくつかの属性 (説明と直径 - 修正のための SCD-1 変更によってのみ変更可能) と揮発性の可能性がある属性 (販売グループ、同じ製品の時間の経過とともに変化する可能性がある) を持つディメンション製品)。

そのため、1 つの製品のこれらの揮発性の属性に変化が生じた場合、何らかの方法でそれらを追跡する必要があります。

私はこれらの2つのアプローチを採用しました:

両方の場合:不揮発性属性には SCD-1 を使用し続けます。

アプローチ #1: product_dim で SCD-2 を使用するのは、揮発性属性のみです。

ここに画像の説明を入力

アプローチ #2:販売グループをまったく新しい次元にすると、すべての販売が ETL の瞬間に現在の価値を追跡します。ここでは SCD-2 は必要ありません。

ここに画像の説明を入力

私はデータ ウェアハウスに不慣れで、どちらが優れているのか、その理由を理解しようとしています。私の目標の 1 つは、OLAP ソフトウェアを使用してこれらすべてを読み取ることです。

4

1 に答える 1

1

それはすべて、モデルのビジネス ニーズになります。私はあなたの質問からビジネスを十分に知りませんが、経験則として、販売グループ (つまり、販売グループ X によって販売されたすべての製品の合計数量) で分析したい場合は、別のディメンションとして作成する必要があります。したがって、この場合、アプローチ#2が正しいです。一般的な概念を考慮し、販売グループがある種の製品グループであると仮定すると、それを製品の属性として持つことは意味がありません。

次元モデリングについて詳しく知りたい場合は、Ralph Kimball の作品をまだ読んでいない場合は調べることをお勧めします。優れたリソースは、彼の著書The Data Warehouse Toolkitで、あなたの質問とその他の多くのテクニックをカバーしています。このような疑問が生じたときに、机の上に置いておくと便利なツールです。経験豊富なデータ モデラーのほとんどは、そのコピーを持っており、時々参照できます。

于 2016-09-26T12:49:18.727 に答える