ディメンションを操作するとき、様々なデータ・ストレージ・オプションや、ビジネス・プロセスでのそれらのオプションの使用方法を理解することが重要です。
ストレージ・オプション
表9-1 ストレージ・オプション
オプション | 影響 |
---|---|
動的計算および保管 |
メンバーのデータ値および保管値を計算します。 |
保管 |
メンバーの保管データ値 |
動的計算 |
メンバーのデータ値を計算し、値を無視します。 |
共有しない |
同じディメンション内のメンバーでデータ値を共有することを禁止します。 |
共有 |
同じディメンション内のメンバーでデータ値を共有することを許可します。 |
ラベルのみ |
メンバーに関連付けられているデータはありません。 |
動的計算について
動的に計算されたメンバーを持つアプリケーションでは、メンバーのデータ値が計算され、これらの値が無視されます。ベスト・プラクティスとして、動的計算の親の下に作成する子は100個までに制限することをお薦めします。メンバーのストレージを動的計算に変更すると、本来のデータの導出方法によっては、データが紛失する場合があります。アウトラインか計算のどちらかまたは両方を更新して動的に計算された値を取得することが必要な場合もあります。
「動的計算」と「動的計算および保管」の違い
たいていの場合、疎ディメンションのメンバーを計算する際に「動的計算および保管」を使用するかわりに「動的計算」を使用して、計算を最適化し、ディスク容量を削減できます。複雑な式を持つ疎ディメンションのメンバーか、頻繁に取得するユーザーには「動的計算および保管」を使用します。
密ディメンションのメンバーには「動的計算」を使用します。「動的計算および保管」で取得時間と通常の計算時間を多少削減させることはできますが、大幅なディスク容量の削減はできません。多くのユーザーが同時にアクセスするデータ値には、「動的計算」を使用します。「動的計算および保管」と比べて、大幅な取得時間の削減が可能な場合があります。
注:
ユーザーがデータを入力する基本レベルのメンバーには「動的計算」を使用しないでください。
ターゲット・バージョンのメンバーにデータを入力する場合は、親のメンバーには「動的計算」を使用しないでください。「動的計算」に設定した親のメンバーは、ターゲット・バージョンで読取り専用となります。
「動的計算」メンバーのデータ値は保存されません。
保管データ・ストレージについて
子が「動的計算」に設定されている場合は、親メンバーを「保管」に設定しないでください。この組合せの場合、ユーザーがフォームを保存したりリフレッシュしたりする際、親の新しい合計は計算されません。
共有データ・ストレージについて
「共有」を使用して、アプリケーション内で別のロールアップ構造を許可します。
共有しないデータ・ストレージについて
ユーザー定義のカスタム・ディメンションを追加する際、デフォルトのデータ・ストレージ・タイプは「共有しない」です。親に集約されている1つの子メンバーのみを持つ親に対して「共有しない」を使用し、子メンバーへのアクセスを適用できます。
ラベルのみデータ・ストレージについて
ラベルのみメンバーは、通常ナビゲーションで使用される仮想メンバーで、関連付けるデータはありません。
注:
レベル0のメンバーには、「ラベルのみ」を割り当てることはできません。
ラベルのみメンバーは値を表示できます。
ディメンションのメンバーをラベルのみにすると、ブロック・サイズが減少するためデータベース容量を最小化できます。
ラベルのみメンバーには、属性を割り当てることができません。
ラベルのみの親の子に対するデータ・ストレージは、デフォルトで「共有しない」に設定されています。
注意:
最初の子メンバーにはデータを保存できないため、最初の子メンバーの後に続くラベルのみの親にフォームを設計しないでください。かわりに、ラベルのみの親を使用して、その子の選択前にフォームを作成するか、フォームにラベルのみの親を選択しないようにします。