同じ世代での共有メンバーの作成

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

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

次の図では、100-400の下にある強調表示されているすべてのProductメンバーは、保管されているプロトタイプ・メンバーであり、Dietの下にあるすべてのメンバーは、保管されていない共有メンバーです。

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


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

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

世代参照を使用した同じ世代の共有メンバーの作成

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

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

ノート:

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


世代参照による構築方法を使用して同じ世代での共有メンバーの親を作成するディメンション構築ルール。フィールド1は、「Product」、「世代」、「2」として定義されており、フィールド「100」、「200」、「300」および「400」が示されています。フィールド2は、「Product」、「重複する世代」として定義されており、フィールド「Diet」、「Diet」、「Diet」および「Diet」が示されています。フィールド3は、「Product」、「世代」、「3」として定義されており、フィールド「100-20」、「200-20」、「300-20」および「400-20」示されています。

この例を再現するには、次のようにします。

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

  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. 次は、構築方法を定義し、他のディメンション構築操作手順を確認する必要があります。「Product」をクリックしてそのプロパティを編集します。
    「ディメンションの編集」ダイアログ内のクリック可能な「Product」ディメンション名。

  9. 「構築方法」「世代」であることを確認し、「OK」をクリックします。


    Productのディメンション構築プロパティ。すべてのオプションがデフォルトのままになっており、「構築方法」は「世代」です。

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


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

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

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

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

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


    世代参照による構築方法を使用して同じ世代での共有メンバーの親を作成するディメンション構築ルール。フィールド1は、「Product」、「世代」、「2」として定義されており、フィールド「100」、「200」、「300」および「400」が示されています。フィールド2は、「Product」、「重複する世代」として定義されており、フィールド「Diet」、「Diet」、「Diet」および「Diet」が示されています。フィールド3は、「Product」、「世代」、「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は、「Product」、「Level」、「1」として定義されており、データ・フィールド「100」、「200」、「300」および「400」が示されています。フィールド3は、「Product」、「Level」、「1」として定義されており、データ・フィールド「Diet」、「Diet」、「Diet」および「Diet」が示されています。

この例を再現するには、次のようにします。

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

  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. 次は、構築方法を定義し、他のディメンション構築操作手順を確認する必要があります。「Product」をクリックしてそのプロパティを編集します。
    「ディメンションの編集」ダイアログ内のクリック可能な「Product」ディメンション名。

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


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

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


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

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

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

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


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

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

  15. アウトラインを表示し、ProductメンバーであるDietを調べて、それに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」、「親」として定義されており、フィールド「100」、「200」、「300」、「400」、「Diet」、「Diet」、「Diet」および「Diet」が示されています。フィールド2は、「Product」、「子」として定義されており、フィールド「100-20」、「200-20」、「300-20」、「400-20」が示されています(Dietの共有される子を構築するために同じ順序で再度繰り返されます)。

この例を再現するには、次のようにします。

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

  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. 次は、構築方法を定義し、他のディメンション構築操作手順を確認する必要があります。「Product」をクリックしてそのプロパティを編集します。
    「ディメンションの編集」ダイアログ内のクリック可能な「Product」ディメンション名。

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


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

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


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

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

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


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

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

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

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


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