同じ世代での共有メンバーの構築
Essbaseアウトラインで同じ世代でメンバーを共有することは、メンバーを共有する最も簡単な方法です。同じ世代で共有メンバーを作成するには、適切なディメンション構築方法を使用して、ルールの設計時に世代、レベルまたは親子参照を識別します。
同じ世代で共有されているメンバーも、同じ分岐にロールアップされます。次の例では、Sample Basicに基づいて、強調表示されたプロダクト・メンバー100-20 (Diet Cola)が世代2にあり、別の親メンバーDietによって共有されています。両方の親(100およびDiet)が同じブランチ(Productディメンション)にロールアップされます。
次のイメージでは、100から400の下にある強調表示されたすべての製品メンバーがプロトタイプ・メンバーに格納され、Dietの下のすべてのメンバーは共有メンバーに格納されません。
図14-12サンプル・アウトライン: 同じ世代で共有されるメンバー

ディメンション構築で同じ世代のメンバーを共有するには、世代、レベルまたは親子参照を使用して構築方法を選択します。各ビルド方法の例については、次を参照してください。
世代参照の使用による同じ世代の共有メンバーの作成
生成構築方法を使用して、Essbaseアウトラインで同じ世代に共有メンバーを構築するルールを設計する場合は、ディメンション構築ルールのプロトタイプ・メンバーの親の後に重複世代を配置します。
世代参照による構築方法を使用して同じ世代の共有メンバーの親を作成するには、共有メンバーの親のフィールド・タイプを「重複する世代」で定義します。重複する世代とは、子の共有メンバーが存在する世代である。例に示すように、プロトタイプ・メンバーの親(プライマリ・ロールアップとも呼ばれる)の後に配置します。
ノート:
「ロールアップ」は、プロトタイプと共有メンバーが統合されるメンバーです。次の例では、共有メンバーがフィールド3にあり、プライマリ・ロールアップがフィールド1にあり、セカンダリ・ロールアップがフィールド2にあります。
![世代参照構築方法を使用して、同じ世代に共有メンバーの親を作成するディメンション構築ルール。フィールド1は製品、世代、2として定義され、フィールド100、200、300、および400が含まれます。フィールド2は[製品]、[重複ジェネレーション]として定義され、[食事]、[食事]、[食事]、および[食事]の各フィールドが含まれます。フィールド3はProduct、Generation、3として定義され、フィールド100-20、200-20、300-20および400-20が含まれます。 世代参照構築方法を使用して、同じ世代に共有メンバーの親を作成するディメンション構築ルール。フィールド1は製品、世代、2として定義され、フィールド100、200、300、および400が含まれます。フィールド2は[製品]、[重複ジェネレーション]として定義され、[食事]、[食事]、[食事]、および[食事]の各フィールドが含まれます。フィールド3はProduct、Generation、3として定義され、フィールド100-20、200-20、300-20および400-20が含まれます。](img/rul-shgenref.png)
この例を再現するには、
-
Essbaseサーバー上のファイル・カタログにあるギャラリから利用可能なアプリケーション・ワークブックを使用して、Sample Basicキューブをインポート/構築します。
-
次に示すようなタブ区切りのデータ・ファイルを作成し、
shgenref.txtという名前を付けて、Sample Basicキューブ・ディレクトリにアップロードします。100 Diet 100-20 200 Diet 200-20 300 Diet 300-20 400 Diet 400-20 -
ホーム・ページで、アプリケーションを開き、データベース(キューブ)をオープンします。
-
「スクリプト」タブを選択して、「ルール」をクリックします。

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

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

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

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

-
「作成方法」が「生成」であることを確認し、「OK」をクリックします。

-
フィールド1の「ディメンション」セレクタをクリックし、「製品」を選択します。

-
フィールド1の「タイプ」セレクタを「世代」に変更し、その下の世代番号を2に増分します。
-
フィールド2で、「タイプ」セレクタを「重複する世代」に変更します。
-
フィールド3で、「タイプ」セレクタを「世代」に変更し、その下の世代番号を3に増分します。
-
ルールを検証してから、保存して閉じます。エラーがある場合は、「有効なディメンション構築ルール・ファイルの要件」を参照してください。
![世代参照構築方法を使用して、同じ世代に共有メンバーの親を作成するディメンション構築ルール。フィールド1は製品、世代、2として定義され、フィールド100、200、300、および400が含まれます。フィールド2は[製品]、[重複ジェネレーション]として定義され、[食事]、[食事]、[食事]、および[食事]の各フィールドが含まれます。フィールド3はProduct、Generation、3として定義され、フィールド100-20、200-20、300-20および400-20が含まれます。 世代参照構築方法を使用して、同じ世代に共有メンバーの親を作成するディメンション構築ルール。フィールド1は製品、世代、2として定義され、フィールド100、200、300、および400が含まれます。フィールド2は[製品]、[重複ジェネレーション]として定義され、[食事]、[食事]、[食事]、および[食事]の各フィールドが含まれます。フィールド3はProduct、Generation、3として定義され、フィールド100-20、200-20、300-20および400-20が含まれます。](img/rul-shgenref.png)
-
ディメンション構築ジョブを実行します。
-
アウトラインを表示し、ProductメンバーDietを調べて、現在5つの共有メンバーがあることを確認します(ディメンション構築により、2つの共有メンバー(300-20および400-20)が既存の3つに追加されました)。

レベル参照の使用による同じ世代の共有メンバーの作成
レベル構築方法を使用してEssbaseアウトラインで同じ世代に共有メンバーを構築するルールを設計する場合、プロトタイプと共有メンバーの親は、ディメンション構築ルールの同じレコード内にある必要があります。
レベル参照による構築方法を使用して同じ世代の共有メンバーを作成するには、まずプライマリとセカンダリのロールアップが1つのレコードに指定されていることを確認します。セカンダリ・ロールアップは、すべて1つのレコードに指定するのであれば必要な数だけ指定できます。
ノート:
「ロールアップ」は、プロトタイプと共有メンバーが統合されるメンバーです。次の例では、共有メンバーはフィールド1にあり、プライマリ・ロールアップはフィールド2にあり、セカンダリ・ロールアップはフィールド3にあります。
共有メンバーのフィールド・タイプをLevelとして定義してから、レベル番号を入力します。セカンダリ・ロールアップのレベル番号をプライマリ・ロールアップと同じ番号に設定します。データソースの処理中に、Essbaseで、指定したレベルで親が作成され、その下に共有メンバーが挿入されます。

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

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

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

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

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

-
「作成方法」を「レベル」に変更し、「OK」をクリックします。

-
フィールド1の「ディメンション」セレクタをクリックし、「製品」を選択します。

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

-
ディメンション構築ジョブを実行します。
-
アウトラインを表示し、Productメンバー・ダイエットを調べて、現在5つの共有メンバーがあることを確認します(ディメンション構築により、2つの共有メンバー(300-20および400-20)が既存の3つに追加されました)。

親子参照を使用して同じ世代の共有メンバーを作成する
親子構築方法を使用して、Essbaseアウトラインで同じ世代に共有メンバーを構築するディメンション構築ルールを設計する場合は、「親」および「子」フィールド・タイプを定義し、ディメンション・プロパティで共有が有効になっていることを確認します。
共有が有効になっている場合、Essbaseでは、新しい親の下に共有メンバーとして重複メンバーが自動的に作成されます。
図14-13サンプル・ルール: 親子参照を使用して同じ世代で共有されるメンバー

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

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

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

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

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

-
「作成方法」を「親子」に変更し、「共有」が有効になっていることを確認して、「OK」をクリックします。

-
フィールド1の「ディメンション」セレクタをクリックし、「製品」を選択します。

-
フィールド1の「タイプ」セレクタを「親」に変更します。
-
フィールド2で、「タイプ」セレクタを「子」に変更します。

-
ルールを検証してから、保存して閉じます。エラーがある場合は、「有効なディメンション構築ルール・ファイルの要件」を参照してください。
-
ディメンション構築ジョブを実行します。
-
アウトラインを表示し、Productメンバー・ダイエットを調べて、現在5つの共有メンバーがあることを確認します(ディメンション構築により、2つの共有メンバー(300-20および400-20)が既存の3つに追加されました)。
