2

次のような次元テーブル構造があります。

ここに画像の説明を入力

理想的には、階層表現は

CodeClassDesc --> CodeDesc

したがって、A は A と B の親になります。B は、分析サーバー キューブ内の A、B、および C の親になります。問題は、CodeClassDesc がテーブルに複数のエントリを持っているため、キューブ内に複数の重複する親が生成され、親ごとに対応する子要素が 1 つあるということです。これは、真の階層とは見なされません。または、少なくとも期待される結果を求めているものではありません。

これは、ビューを介してテーブル内のデータを操作しなくても SSAS で可能だと思いますが、何が欠けているのかわかりません。

CodeClassDesc フィールドと CodeDesc フィールドを複合キーとして定義しようとしましたが、うまくいきませんでしたが、これを行う方法があることはほぼ確実です。

4

2 に答える 2

0

ディメンション構造で、属性「CodeClassDesc」のプロパティ KeyColumn を「CodeClassDesc」と「CodeDesc」の両方を含む複合キーに変更してから、NameColumn プロパティを変更してそれ自体を表示する必要があります。

于 2015-03-10T19:37:27.570 に答える
0

これを解決するためにメソッドの考えられるすべての順列を試みた結果、必要な属性の正規化が、対応する子要素ごとに親の複数のエントリを持つという問題を解決する唯一の方法であると結論付けました。

そこで、キューブの DSV (データソース ビュー) で CodeClass フィールドと CodeClassDesc フィールドのみの DISTINCT SELECT を使用して、テーブルの VIEW を作成しました。次に、CodeClass フィールドを論理主キーとして設定し、メイン テーブルの CodeClass フィールドとの関係を作成しました。

次に、VIEW の CodeClassDesc フィールドを使用して、Dimension に最上位の親を作成しました。これにより、値ごとに 1 つの個別のレコードしか得られませんでした。そして、テーブルから CodeDesc フィールドを追加して、子リレーションシップを作成しました。ソースに複数のレコードがある場合、親ごとに単一の値で構成される親階層を作成できないという答えが必要になると思います。

于 2012-11-20T13:24:51.093 に答える