同じ世代での共有メンバーの構築

Essbaseアウトラインで同じ世代でメンバーを共有することは、メンバーを共有する最も簡単な方法です。同じ世代で共有メンバーを作成するには、適切なディメンション構築方法を使用して、ルールの設計時に世代、レベルまたは親子参照を識別します。

同じ世代で共有されているメンバーも、同じ分岐にロールアップされます。次の例では、Sample Basicに基づいて、強調表示されたプロダクト・メンバー100-20 (Diet Cola)が世代2にあり、別の親メンバーDietによって共有されています。両方の親(100およびDiet)が同じブランチ(Productディメンション)にロールアップされます。

次のイメージでは、100から400の下にある強調表示されたすべての製品メンバーがプロトタイプ・メンバーに格納され、Dietの下のすべてのメンバーは共有メンバーに格納されません。

図14-12サンプル・アウトライン: 同じ世代で共有されるメンバー


Productディメンション内の同じ世代で共有されるメンバー。次のテキストでロールアップとして説明されているすべてのメンバーは、世代2です。メンバー100-20は、メンバー100およびメンバーDietにロールアップされます。メンバー200-20はメンバー200にロールアップされ、メンバーDietにロールアップされます。メンバー300-20および300-30は、メンバー300およびメンバーDietにロールアップされます。メンバー400-20はメンバー400にロールアップされ、メンバーDietにロールアップされます。Member Dietには、100-20、200-20、300-20、300-30および400-20の5つの共有メンバーがあります。

ディメンション構築で同じ世代のメンバーを共有するには、世代、レベルまたは親子参照を使用して構築方法を選択します。各ビルド方法の例については、次を参照してください。

世代参照の使用による同じ世代の共有メンバーの作成

生成構築方法を使用して、Essbaseアウトラインで同じ世代に共有メンバーを構築するルールを設計する場合は、ディメンション構築ルールのプロトタイプ・メンバーの親の後に重複世代を配置します。

世代参照による構築方法を使用して同じ世代の共有メンバーの親を作成するには、共有メンバーの親のフィールド・タイプを「重複する世代」で定義します。重複する世代とは、子の共有メンバーが存在する世代である。例に示すように、プロトタイプ・メンバーの親(プライマリ・ロールアップとも呼ばれる)の後に配置します。

ノート:

「ロールアップ」は、プロトタイプと共有メンバーが統合されるメンバーです。次の例では、共有メンバーがフィールド3にあり、プライマリ・ロールアップがフィールド1にあり、セカンダリ・ロールアップがフィールド2にあります。


世代参照構築方法を使用して、同じ世代に共有メンバーの親を作成するディメンション構築ルール。フィールド1は製品、世代、2として定義され、フィールド100、200、300、および400が含まれます。フィールド2は[製品]、[重複ジェネレーション]として定義され、[食事]、[食事]、[食事]、および[食事]の各フィールドが含まれます。フィールド3はProduct、Generation、3として定義され、フィールド100-20、200-20、300-20および400-20が含まれます。

この例を再現するには、

  1. Essbaseサーバー上のファイル・カタログにあるギャラリから利用可能なアプリケーション・ワークブックを使用して、Sample Basicキューブをインポート/構築します。

  2. 次に示すようなタブ区切りのデータ・ファイルを作成し、shgenref.txtという名前を付けて、Sample Basicキューブ・ディレクトリにアップロードします。

    100	Diet	100-20
    200	Diet	200-20
    300	Diet	300-20
    400	Diet	400-20
  3. ホーム・ページで、アプリケーションを開き、データベース(キューブ)をオープンします。

  4. 「スクリプト」タブを選択して、「ルール」をクリックします。


    Essbase Webインタフェースで「スクリプト」タブが選択され、「ルール」タイルが強調表示されます。

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


    データベース・ダイアログで、作成ボタンが押されていて、「ディメンション構築(標準)」オプションが選択されています

  6. 「新規ルール」ダイアログで、次のように操作します。

    1. ルール名を入力します(例: shgenref)。

    2. 「ソース・タイプ」「ファイル」を選択し、「カタログ」をクリックしてshgenref.txtにナビゲートします。

      「カタログ」をクリックすると、ファイルはデフォルトでEssbaseサーバーのキューブ・ディレクトリに配置されるため、Essbase Webインタフェース「ファイル」セクションを使用してすでにアップロード済である必要があります。ファイルがクライアント・マシン上にある場合は、「ファイル・ブラウザ」をクリックしてファイルを検索します。

    3. 「ヘッダー・レコード番号」および「ディメンション構築レコード番号」フィールドは0のままにします。ヘッダー・レコードは、ディメンションの構築には役立ちません。

    4. 「デリミタ」の値をカンマから「タブ」に変更します。

    5. 「続行」をクリックします。

    6. ディメンション構築ルールは、未定義のフィールドと、フィールドの下のグリッドに移入されたプレビュー・データ(テキスト・ファイルからのデータ)とともに表示されます。


      shgenrefという名前の未終了の新しいルール。フィールド1から3のフィールド・メタデータは、フィールド・セレクタでは空白です。フィールド・セレクタの下にレコードが移入され、ステップ2の.txtファイル内のデータが一致します。

  7. これは新しいルールであるため、ディメンションはまだ関連付けられていません。

    1. 「ディメンション」をクリックします。
      ルール・エディタの「ディメンション」ボタン

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

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


    Productのディメンション構築プロパティ。オプションはすべてデフォルトのままであり、「Build Method」は「Generation」です。

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


    フィールド1の「ディメンション」ボックスから選択可能なProductディメンション

  11. フィールド1の「タイプ」セレクタを「世代」に変更し、その下の世代番号を2に増分します。

  12. フィールド2で、「タイプ」セレクタを「重複する世代」に変更します。

  13. フィールド3で、「タイプ」セレクタを「世代」に変更し、その下の世代番号を3に増分します。

  14. ルールを検証してから、保存して閉じます。エラーがある場合は、「有効なディメンション構築ルール・ファイルの要件」を参照してください。


    世代参照構築方法を使用して、同じ世代に共有メンバーの親を作成するディメンション構築ルール。フィールド1は製品、世代、2として定義され、フィールド100、200、300、および400が含まれます。フィールド2は[製品]、[重複ジェネレーション]として定義され、[食事]、[食事]、[食事]、および[食事]の各フィールドが含まれます。フィールド3はProduct、Generation、3として定義され、フィールド100-20、200-20、300-20および400-20が含まれます。

  15. ディメンション構築ジョブを実行します。

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


    Essbase Webインタフェースのアウトライン・ビューア。Productディメンションが展開され、親メンバーDietとその下に共有メンバー(100-20、200-20、300-30、300-20および400-20)が表示されます。

レベル参照の使用による同じ世代の共有メンバーの作成

レベル構築方法を使用してEssbaseアウトラインで同じ世代に共有メンバーを構築するルールを設計する場合、プロトタイプと共有メンバーの親は、ディメンション構築ルールの同じレコード内にある必要があります。

レベル参照による構築方法を使用して同じ世代の共有メンバーを作成するには、まずプライマリとセカンダリのロールアップが1つのレコードに指定されていることを確認します。セカンダリ・ロールアップは、すべて1つのレコードに指定するのであれば必要な数だけ指定できます。

ノート:

「ロールアップ」は、プロトタイプと共有メンバーが統合されるメンバーです。次の例では、共有メンバーはフィールド1にあり、プライマリ・ロールアップはフィールド2にあり、セカンダリ・ロールアップはフィールド3にあります。

共有メンバーのフィールド・タイプをLevelとして定義してから、レベル番号を入力します。セカンダリ・ロールアップのレベル番号をプライマリ・ロールアップと同じ番号に設定します。データソースの処理中に、Essbaseで、指定したレベルで親が作成され、その下に共有メンバーが挿入されます。


レベル構築方法を使用して共有メンバーを作成するためのディメンション構築ルール。フィールド1はProduct、Level、0として定義され、データ・フィールド100-20、200-20、300-20および400-20が含まれます。フィールド2は製品、レベル、1として定義され、データ フィールド100、200、300、および400が含まれます。フィールド3はProduct、Level、1として定義され、データ・フィールドDiet、Diet、DietおよびDietが含まれます。

この例を再現するには、

  1. Essbaseサーバー上のファイル・カタログにあるギャラリから利用可能なアプリケーション・ワークブックを使用して、Sample Basicキューブをインポート/構築します。

  2. 次に示すようなタブ区切りのデータ・ファイルを作成し、shlev.txtという名前を付けて、Sample Basicキューブ・ディレクトリにアップロードします。

    100-20	100	Diet
    200-20	200	Diet
    300-20	300	Diet
    400-20	400	Diet
  3. ホーム・ページでアプリケーションを開き、データベース(キューブ)を開きます

  4. 「スクリプト」タブを選択して、「ルール」をクリックします。


    Essbase Webインタフェースで「スクリプト」タブが選択され、「ルール」タイルが強調表示されます。

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


    データベース・ダイアログで、作成ボタンが押されていて、「ディメンション構築(標準)」オプションが選択されています

  6. 「新規ルール」ダイアログで、次のように操作します。

    1. ルール名を入力します(例: shlev)。

    2. 「ソース・タイプ」「ファイル」を選択し、「カタログ」をクリックしてshlev.txtにナビゲートします。

      「カタログ」をクリックすると、ファイルはデフォルトでEssbaseサーバーのキューブ・ディレクトリに配置されるため、Essbase Webインタフェース「ファイル」セクションを使用してすでにアップロード済である必要があります。ファイルがクライアント・マシン上にある場合は、「ファイル・ブラウザ」をクリックしてファイルを検索します。

    3. 「ヘッダー・レコード番号」および「ディメンション構築レコード番号」フィールドは0のままにします。ヘッダー・レコードは、ディメンションの構築には役立ちません。

    4. 「デリミタ」の値をカンマから「タブ」に変更します。

    5. 「続行」をクリックします。

    6. ディメンション構築ルールは、未定義のフィールドと、フィールドの下のグリッドに移入されたプレビュー・データ(テキスト・ファイルからのデータ)とともに表示されます。


      shlevという名前の未完了の新しいルール。フィールド1から3のフィールド・メタデータは、フィールド・セレクタでは空白です。フィールド・セレクタの下にレコードが移入され、ステップ2の.txtファイル内のデータが一致します。

  7. これは新しいルールであるため、ディメンションはまだ関連付けられていません。

    1. 「ディメンション」をクリックします。
      ルール・エディタの「ディメンション」ボタン

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

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


    Productのディメンション構築プロパティ。オプションはすべてデフォルトのままであり、「構築方法」は「レベル」です。

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


    フィールド1の「ディメンション」ボックスから選択可能なProductディメンション

  11. フィールド1の「タイプ」セレクタを「レベル」に変更し、その下のレベル番号を0として指定します。

  12. フィールド2および3で、「タイプ」セレクタを「レベル」に変更し、その下のレベル番号を1として指定します。

  13. ルールを検証してから、保存して閉じます。エラーがある場合は、「有効なディメンション構築ルール・ファイルの要件」を参照してください。


    レベル参照構築方法を使用して、同じ世代に共有メンバーの親を作成するディメンション構築ルール。フィールド1はProduct、Level、0として定義され、フィールド100-20、200-20、300-20および400-20が含まれます。フィールド2は製品、レベル、1として定義され、フィールド100、200、300、および400が含まれます。フィールド3はProduct、Level、1として定義され、Diet、Diet、Dietの各フィールドが含まれます。

  14. ディメンション構築ジョブを実行します。

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


    Essbase Webインタフェースのアウトライン・ビューア。Productディメンションが展開され、親メンバーDietとその下に共有メンバー(100-20、200-20、300-30、300-20および400-20)が表示されます。

親子参照を使用して同じ世代の共有メンバーを作成する

親子構築方法を使用して、Essbaseアウトラインで同じ世代に共有メンバーを構築するディメンション構築ルールを設計する場合は、「親」および「子」フィールド・タイプを定義し、ディメンション・プロパティで共有が有効になっていることを確認します。

共有が有効になっている場合、Essbaseでは、新しい親の下に共有メンバーとして重複メンバーが自動的に作成されます。

図14-13サンプル・ルール: 親子参照を使用して同じ世代で共有されるメンバー


親子構築方法を使用して同じ世代の共有メンバーを作成するためのディメンション構築ルール。フィールド1はProduct、Parentとして定義され、フィールド100、200、300、400、Diet、Diet、DietおよびDietが含まれます。フィールド2はProduct、Childとして定義され、フィールド100-20、200-20、300-20、400-20が含まれます(Dietの共有子を作成するのと同じ順序で繰り返されます)。

この例を再現するには、

  1. Essbaseサーバー上のファイル・カタログにあるギャラリから利用可能なアプリケーション・ワークブックを使用して、Sample Basicキューブをインポート/構築します。

  2. 次に示すようなタブ区切りのデータ・ファイルを作成し、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
  3. ホーム・ページでアプリケーションを開き、データベース(キューブ)を開きます

  4. 「スクリプト」タブを選択して、「ルール」をクリックします。


    Essbase Webインタフェースで「スクリプト」タブが選択され、「ルール」タイルが強調表示されます。

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


    データベース・ダイアログで、作成ボタンが押されていて、「ディメンション構築(標準)」オプションが選択されています

  6. 「新規ルール」ダイアログで、次のように操作します。

    1. ルール名を入力します(例: shparentchild)。

    2. 「ソース・タイプ」「ファイル」を選択し、「カタログ」をクリックしてshparentchild.txtにナビゲートします。

      「カタログ」をクリックすると、ファイルはデフォルトでEssbaseサーバーのキューブ・ディレクトリに配置されるため、Essbase Webインタフェース「ファイル」セクションを使用してすでにアップロード済である必要があります。ファイルがクライアント・マシン上にある場合は、「ファイル・ブラウザ」をクリックしてファイルを検索します。

    3. 「ヘッダー・レコード番号」および「ディメンション構築レコード番号」フィールドは0のままにします。ヘッダー・レコードは、ディメンションの構築には役立ちません。

    4. 「デリミタ」の値をカンマから「タブ」に変更します。

    5. 「続行」をクリックします。

    6. ルールは、未定義のフィールドと、フィールドの下のグリッドを移入したプレビュー・データ(テキスト・ファイルからの)とともに表示されます。


      shparentchildという名前の未終了の新しいルール。フィールド1およびフィールド2のフィールド・メタデータは、フィールド・セレクタでは空白です。フィールド・セレクタの下にレコードが移入され、ステップ2の.txtファイル内のデータが一致します。

  7. これは新しいルールであるため、ディメンションはまだ関連付けられていません。

    1. 「ディメンション」をクリックします。
      ルール・エディタの「ディメンション」ボタン

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

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


    Productのディメンション構築プロパティ。「共有」チェック・ボックスが選択され、「構築方法」が「親子」です。

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


    フィールド1の「ディメンション」ボックスから選択可能なProductディメンション

  11. フィールド1の「タイプ」セレクタを「親」に変更します。

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


    親子構築方法を使用して同じ世代の共有メンバーを作成するルール。フィールド1はProduct、Parentとして定義され、フィールド100、200、300、400、Diet、Diet、DietおよびDietが含まれます。フィールド2はProduct、Childとして定義され、フィールド100-20、200-20、300-20、400-20が含まれます(Dietの共有子を作成するのと同じ順序で繰り返されます)。

  13. ルールを検証してから、保存して閉じます。エラーがある場合は、「有効なディメンション構築ルール・ファイルの要件」を参照してください。

  14. ディメンション構築ジョブを実行します。

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


    Essbase Webインタフェースのアウトライン・ビューア。Productディメンションが展開され、親メンバーDietとその下に共有メンバー(100-20、200-20、300-30、300-20および400-20)が表示されます。