異なる世代での共有メンバーの構築
Essbaseディメンション構築ルールを使用して、様々な世代で共有メンバーを構築できます。これを行うには、ソース・データに最も適した作成方法(レベル参照または親子参照)を使用します。
場合によっては、アウトライン内の異なる世代の親に共有メンバーをロールアップする必要があります。たとえば、図14-14では、共有メンバーは、世代2 (Diet)と世代3 (TBCとGrandma's)の親にロールアップされます。このアウトラインでは、TBC (The Beverage Company)が一部の飲料製品を外部ベンダーから購入することを想定しています。200-20 (Diet Root Beer)はGrandma'sという名前のベンダーから購入します。
図14-14サンプル・アウトライン: 異なる世代の共有されるメンバー

親子参照を使用して異なる世代の共有メンバーを作成する
Essbaseディメンション構築ルールでは、親子参照による構築方法を使用して異なる世代の共有メンバーを作成するために、「親」および「子」のフィールド・タイプを定義します。共有が有効になっている場合は、Essbaseでは、新しい親の下に共有メンバーとして重複メンバーが自動的に作成されます。
図14-15サンプル・ルール: 親子参照を使用して異なる世代の共有メンバー

この例を再現するには、
-
Essbaseサーバー上のファイル・カタログにあるギャラリから利用可能なアプリケーション・ワークブックを使用して、Sample Basicキューブをインポート/構築します。
-
次に示すようなタブ区切りのデータ・ファイルを作成し、
shdiffgenparchild.txtという名前を付けて、Sample Basicキューブ・ディレクトリにアップロードします。100 100-20 200 200-20 300 300-30 Diet 100-20 Diet 200-20 Diet 300-30 Vendors TBC Vendors Grandma’s TBC 100-20 TBC 300-30 Grandma’s 200-20 -
ホーム・ページでアプリケーションを開き、データベース(キューブ)を開きます
-
「スクリプト」タブを選択して、「ルール」をクリックします。

-
「作成」をクリックして、「ディメンション構築(標準)」を選択します。

-
「新規ルール」ダイアログで、次のように操作します。
-
ルール名(例: shdiffgenparchild)を入力します。
-
「ソース・タイプ」で「ファイル」を選択し、「カタログ」をクリックして
shdiffgenparchild.txtにナビゲートします。「カタログ」をクリックすると、ファイルはデフォルトでEssbaseサーバーのキューブ・ディレクトリに配置されるため、Essbase Webインタフェースの「ファイル」セクションを使用してすでにアップロード済である必要があります。ファイルがクライアント・マシン上にある場合は、「ファイル・ブラウザ」をクリックしてファイルを検索します。
-
「ヘッダー・レコード番号」および「ディメンション構築レコード番号」フィールドは0のままにします。ヘッダー・レコードは、ディメンションの構築には役立ちません。
-
「デリミタ」の値をカンマから「タブ」に変更します。
-
「Preview Data Count」を11に増分します。
-
「続行」をクリックします。
-
ディメンション構築ルールは、未定義のフィールドと、フィールドの下のグリッドに移入されたプレビュー・データ(テキスト・ファイルからのデータ)とともに表示されます。

-
-
これは新しいルールであるため、ディメンションはまだ関連付けられていません。
- 「ディメンション」をクリックします。

- ディメンション名Productを選択または入力し、「追加」をクリックします。
- 「ディメンション」をクリックします。
-
次に、構築方法を定義し、他のディメンション構築操作手順を確認する必要があります。「製品」をクリックしてプロパティを編集します。

-
「作成方法」が「親の子」であることを確認します。
-
「共有」をクリックし、「OK」をクリックします。
-
フィールド1の「ディメンション」セレクタをクリックし、「製品」を選択します。

-
フィールド1の「タイプ」セレクタを「親」に変更します。
-
フィールド2では、「タイプ」セレクタを「子」に変更します。
-
ルールを検証してから、保存して閉じます。エラーがある場合は、「有効なディメンション構築ルール・ファイルの要件」を参照してください。

-
ディメンション構築ジョブを実行します。
-
アウトラインを表示し、Productディメンションを検査して、Dietでも使用される共有メンバーを持つ新しいメンバーVendor、TBCおよびGrandmaがあることを確認します。

レベル参照の使用による異なる世代の共有メンバーの作成
Essbaseディメンション構築ルールでは、レベル参照による構築方法を使用して異なる世代の共有メンバーを作成するために、プライマリとセカンダリ・ロールアップが1つのレコードに指定されていることを確認します。セカンダリ・ロールアップは、すべて1つのレコードに指定するのであれば必要な数だけ指定できます。
共有メンバーのフィールド・タイプをLevelとして定義してから、レベル番号を入力します。データソースの処理中に、Essbaseで、指定したレベルで親が作成され、その下に共有メンバーが挿入されます。
たとえば、製品100-20、200-20および300-30をDietという親と、TBCとGrandma'sという2つの親との間に共有するには、次に示すようなサンプル・データとルールを使用します。
図14-16サンプル・ルール: レベル参照を使用して異なる世代で共有するメンバー

この例を再現するには、
-
Essbaseサーバー上のファイル・カタログにあるギャラリから利用可能なアプリケーション・ワークブックを使用して、Sample Basicキューブをインポート/構築します。
-
次に示すようなタブ区切りのデータ・ファイルを作成し、
shdifflevref.txtという名前を付けて、Sample Basicキューブ・ディレクトリにアップロードします。100-20 100 Diet TBC Vendors 200-20 200 Diet Grandma’s Vendors 300-30 300 Diet TBC Vendors -
ホーム・ページでアプリケーションを開き、データベース(キューブ)を開きます
-
「スクリプト」タブを選択して、「ルール」をクリックします。

-
「作成」をクリックして、「ディメンション構築(標準)」を選択します。

-
「新規ルール」ダイアログで、次のように操作します。
-
ルール名を入力します(例: shdifflevref)。
-
「ソース・タイプ」で「ファイル」を選択し、「カタログ」をクリックして
shdifflevref.txtにナビゲートします。「カタログ」をクリックすると、ファイルはデフォルトでEssbaseサーバーのキューブ・ディレクトリに配置されるため、Essbase Webインタフェースの「ファイル」セクションを使用してすでにアップロード済である必要があります。ファイルがクライアント・マシン上にある場合は、「ファイル・ブラウザ」をクリックしてファイルを検索します。
-
「ヘッダー・レコード番号」および「ディメンション構築レコード番号」フィールドは0のままにします。ヘッダー・レコードは、ディメンションの構築には役立ちません。
-
「デリミタ」の値をカンマから「タブ」に変更します。
-
「続行」をクリックします。
-
ディメンション構築ルールは、未定義のフィールドと、フィールドの下のグリッドに移入されたプレビュー・データ(テキスト・ファイルからのデータ)とともに表示されます。

-
-
これは新しいルールであるため、ディメンションはまだ関連付けられていません。
- 「ディメンション」をクリックします。

- ディメンション名Productを選択または入力し、「追加」をクリックします。
- 「ディメンション」をクリックします。
-
次に、構築方法を定義し、他のディメンション構築操作手順を確認する必要があります。「製品」をクリックしてプロパティを編集します。

-
「作成方法」が「レベル」であることを確認し、「OK」をクリックします。
-
フィールド1の「ディメンション」セレクタをクリックし、「製品」を選択します。

-
フィールド1の「タイプ」セレクタを「レベル」に変更し、その下のレベル番号を0として入力します。
-
フィールド2-4で、「タイプ」セレクタを「レベル」に変更し、レベル番号を1として入力します。
-
フィールド5で、「タイプ」セレクタを「レベル」に変更し、レベル番号として2を入力します。
-
ルールを検証してから、保存して閉じます。エラーがある場合は、「有効なディメンション構築ルール・ファイルの要件」を参照してください。

-
ディメンション構築ジョブを実行します。
-
アウトラインを表示し、Productディメンションを検査して、Dietでも使用される共有メンバーを持つ新しいメンバーVendor、TBCおよびGrandmaがあることを確認します。
