異なる世代での共有メンバーの作成

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 サンプル・ルール: 親子参照を使用して様々な世代で共有されるメンバー


この図では、親子による構築方法を使用して様々な世代で共有メンバーの親を作成するルールが示されています。フィールド1は、Product、「親」として定義されています。フィールド2は、Product、「子」として定義されています。レコードはフィールド・セレクタの下に移入され、手順2の.txtファイル内のデータと一致しています。

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

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

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

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


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

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


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

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

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

    2. 「ソース・タイプ」「ファイル」を選択し、「カタログ」をクリックし、shdiffgenparchild.txtに移動します。

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

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

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

    5. 「データ数のプレビュー」を11に増やします。

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

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


      shdiffgenparchildという名前の未完成の新規ルール。フィールド1から2のフィールド・メタデータは、フィールド・セレクタでは空白になっています。レコードはフィールド・セレクタの下に移入され、手順2の.txtファイル内のデータと一致しています。

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

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

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

  9. 「構築方法」「親子」であることを確認します。

  10. 「共有」をクリックし、「OK」をクリックします。

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


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

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

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

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


    この図では、親子による構築方法を使用して様々な世代で共有メンバーの親を作成するルールが示されています。フィールド1は、Product、「親」として定義されています。フィールド2は、Product、「子」として定義されています。レコードはフィールド・セレクタの下に移入され、手順2の.txtファイル内のデータと一致しています。

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

  16. アウトラインを表示し、Productディメンションを調べて、それに新規メンバーVendor、TBCおよびGrandma'sがあり、それらにはDietでも使用されている共有メンバーがあることを確認します。


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

レベル参照を使用した異なる世代の共有メンバーの作成

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

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

たとえば、Productの100-20、200-20および300-30を、Dietという親と、TBCとGrandma'sという2つの親との間で共有するには、次に示すようなサンプル・データとルールを使用します。

図14-16 サンプル・ルール: レベル参照を使用して様々な世代で共有されるメンバー


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

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

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

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

    100-20	100	Diet	TBC	Vendors
    200-20	200	Diet	Grandma’s	Vendors	
    300-30	300	Diet	TBC	Vendors
  3. 「アプリケーション」ページでアプリケーションを開き、データベース(キューブ)を開きます。

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


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

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


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

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

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

    2. 「ソース・タイプ」「ファイル」を選択し、「カタログ」をクリックし、shdifflevref.txtに移動します。

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

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

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

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

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


      shdifflevrefという名前の未完成の新規ルール。フィールド1から5のフィールド・メタデータは、フィールド・セレクタでは空白になっています。レコードはフィールド・セレクタの下に移入され、手順2の.txtファイル内のデータと一致しています。

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

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

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

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

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


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

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

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

  13. フィールド5で、「タイプ」セレクタを「レベル」に変更し、そのレベル番号を「2」にします。

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


    この図では、レベル参照による構築方法を使用して様々な世代での共有メンバーの親を作成するルールが示されています。フィールド1は、「Product」、「レベル」、「0」として定義されており、「100-20」、「200-20」および「300-30」が示されています。フィールド2は、「Product」、「レベル」、「1」として定義されており、「100」、「200」および「300」が示されています。フィールド3は、「Product」、「レベル」、「1」として定義されており、「Diet」、「Diet」および「Diet」が示されています。フィールド4は、「Product」、「レベル」、「1」として定義されており、「TBC」、「Grandma's」および「TBC」が示されています。フィールド5は、「Product」、「レベル」、「2」として定義されており、「Vendors」、「Vendors」および「Vendors」が示されています。

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

  16. アウトラインを表示し、Productディメンションを調べて、それに新規メンバーVendor、TBCおよびGrandma'sがあり、それらにはDietでも使用されている共有メンバーがあることを確認します。


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