SQL Server Analysis Services 2008 R2 内でディメンション属性間の属性リレーションシップを実装するための最適なユース ケース シナリオを正しく理解するのは難しいと感じています。
私が読んだことから、「不自然な階層」はパフォーマンス上の理由から避けるべきであり、「自然な」階層はユーザー定義の階層として優先されるようです。
参照: http://support.microsoft.com/kb/2131988
以上のことから、次のシナリオについてあなたの考えをお聞きしたいと思います。
次の属性を持つディメンションがあります。
次元名: DimReserveData
次元メンバー:
プログラム ライン
カバレッジ コード
カバレッジ タイプ
カバレッジ ステータス
以下に示すように、これらの属性を同じ順序で階層内に配置したいと思います。
ReserveDataHierarchy
.........................................
プログラム ライン
カバレッジ コード
カバレッジ タイプ
カバレッジ ステータス
. ...................................................
階層情報:
プログラム ラインは、提供される保険補償プログラムを表すコードです。(例: AA-23、BB-25、CC-78 など)
カバレッジ コード属性は、特定のプログラム ラインに対して提供される特定のカバレッジを表す数値コードを表します。(例: 123、456 など)
カバレッジ タイプは、特定のカバレッジ コードに関連付けられたカバレッジのタイプを表します。(例: 車両または身体)。
カバレッジ ステータスは、特定のカバレッジのステータス (オープンまたはクローズ) を表します。
したがって、階層内のカーディナリティに関して次のことが言えます。
1 つのプログラム行に多数のカバレッジ コードを含めることができます。
1 つのカバレッジ コードに多くのタイプを含めることができます。
1 つのカバレッジ タイプに多くのステータス値を含めることができます。
したがって、階層を参照すると、次の属性と対応するメンバーが生成されます。
DimReserveData
.................................................. ................................................................... .*................................................
プログラム行 | カバレッジ コード | カバレッジ タイプ | カバレッジ ステータス
................................................................. ................................................................... ...................................
AA-12 ................... ……123…………車両……オープン
BB-14 .. ..........456.................車両用...................... ....クローズド
CC-23 ....123 ...................車両 .... ..........開く
DD-23 ..........456................. ……ボディ…………オープン
私の質問は、これらの属性を「自然な」または「不自然な」階層内でモデル化することが適切かどうかです。パフォーマンスを向上させるために、「自然な」階層を使用したいと考えています。
明らかに、この階層を「自然な」ものとしてモデル化するには、属性関係を使用する必要があります。
上記の階層例に戻りますが、特定のカバレッジ コード属性が複数のプログラム ラインおよび同じカバレッジ タイプを含む複数のカバレッジ コードに属している場合、「自然な」階層は可能でしょうか?
この役立つ投稿: http://sqlserverpedia.com/blog/sql-server-bloggers/idiots-guide-to-ssas-attribute-relationships/では、1 つの都市が複数の州または県に属しているシナリオで、階層内の各属性が一意に定義されるように、属性キー列を変更できます。
これは上記の例で機能しますか?
次のように属性関係をモデル化できると考えています:(SSAS 2008 R2を使用)
[ディメンションからのサロゲート キー属性] -- > カバレッジ ステータス -- > カバレッジ タイプ -- > カバレッジ コード -- > プログラム ライン
上記の各属性には、次のようにキー列が設定されます。
...................................................
カバレッジ ステータス:
........... .........................
補償ステータス
補償タイプ
...................................................
補償の種類:
................... .........................
補償タイプ
補償コード
...................................................
補償コード:
................... ...................................
カバレッジ コード
プログラム ライン
...................................
プログラムライン:
................... ...................................
プログラムライン
これは機能しますか?このシナリオは、 「不自然な」階層に適していますか?
上記の私の投稿をお読みいただき、誠にありがとうございます。
ありがとう!