0

スター スキーマを使用する比較的単純なデータ ウェアハウスを設計しました。CompanyID 列と Amount (実際の測定値) 列と共に主キーのみを持つファクト テーブルがあります。もちろん、ファクト テーブルが参照する会社を表すディメンション テーブルもあります。

ここで、会社の単一レベルの階層 (CompanyGroup) を作成する必要があります。これは簡単な作業のように思えますが、問題は、単一の会社が複数の CompanyGroup 内に存在できるようにする必要があることです。

これを実験して、主キー GroupKey と CompanyKey を保持する CompanyHierarchy という新しいディメンション テーブルを作成しました。GroupKey が最上位レベルで、CompanyKey が 2 番目のレベルであるユーザー定義階層を定義すると、ディメンションの処理中に CompanyKey属性の重複属性キーが見つかりましたというエラーが発生します。

だから、私はこれを始める方法さえよくわかりません。属性が複数回存在するディメンション内にユーザー定義の階層を作成するにはどうすればよいですか?

現在のキューブ定義のスクリーン ショットは、次の場所で見ることができます。

img132.imageshack.us/img132/6729/ssasm2m.gif

4

1 に答える 1

1

多対多のリレーションシップを作成する必要があります (1 つの会社が複数のグループに属することができ、1 つのグループが複数の会社を持つことができます)。Adventure Works キューブには、販売理由ディメンションと多対多のリレーションシップを使用するさまざまな方法を説明する詳細なホワイト ペーパーがここにあります。

ここに文書化した 1 つの階層で複数のメンバーをサポートする手法もあります。

于 2009-05-20T06:30:14.497 に答える