メンバには「データストレージ」の設定があります。
データベースのブロックサイズやデータベース関連ファイルのサイズも変わってくるので、
メンバのタイプに応じて、適切な設定をすることが必要です。
知っていること、調べたことを一挙にまとめていきます。
#前提知識
密次元(Dense):データ・ブロック内のセル(データ)を構成する次元
→Year(年),Account(勘定科目)など
疎次元(Sparse):データ・ブロックを構成する次元
→Product(製品)など
#データストレージの種類
・保管
・動的計算
・動的計算および保管
・共有しない
・共有
・ラベルのみ
#保管
デフォルトの設定。
レベル0メンバ、疎次元メンバは基本データを持つので保管にすることが多い。
子が動的計算の場合は、親メンバーを保管に設定しないこと。
フォームを保存したりリフレッシュする際に親の新たな合計が計算されない。
#動的計算
メンバーのデータ値が計算され、値は保存されない。動的計算の親の子は100が上限。
メンバー式が定義されているメンバ、密次元の親メンバで使うことが多い。
積上処理をビジネスルールで実行する必要がなくなり、ブロックサイズも削減できる。
子を多く持つ疎次元メンバに使うとデータ取得のパフォーマンスが劣化するので注意。
#動的計算および保管
複雑な式を持つ疎ディメンションのメンバーの場合はこちらを使用する。
値を保持するためディスク容量は増えるが、場合によっては取得時間が削減できることもある。
#共有しない
親と子メンバが1対1のときの暗黙の共有をしないようにする設定。
#####暗黙の共有とは?
Essbaseにより勝手に共有関係が設定される状態。
たとえば、親メンバAに対して子メンバBしかいない場合、1:1になるので
子メンバBの値は親メンバAに自動的に格納される。
#ラベルのみ
メンバのグルーピングをする際に使用する。仮想メンバのため、関連付けるデータはない。
レベル0のメンバーには割り当てできない。
通常のメンバーと比べブロックサイズが減少するので容量削減が可能。
#共有
すでに存在しているメンバを共有する。
例えば、一つの次元内で複数の分析軸を持つ場合に使用する。
これを使うと、データを二重持ちすることなく共有メンバとして追加することができる。
例)Aという製品に対して「製品計」「広告費計」「販売費計」と軸を分ける場合
●製品計
○ 製品A
●広告費計
○製品A(共有)
●販売費計
○製品A(共有)
この場合なら、製品Aというメンバーは1つのみで良い