異なる世代での共有メンバーの構築

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は、製品、親として定義されます。フィールド2は、製品、子として定義されます。フィールド・セレクタの下にレコードが移入され、ステップ2の.txtファイル内のデータが一致します。

この例を再現するには、

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

  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. 「Preview Data Count」を11に増分します。

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

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


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

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

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

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

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

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

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


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

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

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

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


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

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

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


    Essbase Webインタフェースのアウトライン・ビューア。Productディメンションが展開され、その下に共有メンバー(100-20、200-20および300-30)がある親メンバーDietが表示されます。製品ディメンションには、TBCおよびGrandmaの子を持つ新しいメンバー仕入先もあります。TBCには共有メンバー100-20と300-30が含まれ、おばあちゃんには共有メンバー200-20が含まれています。

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

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

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

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

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


レベル参照構築方法を使用して、様々な世代で共有メンバーの親を作成するディメンション構築ルール。フィールド1はProduct、Level、0として定義され、100-20、200-20および300-30を含みます。フィールド2は製品、レベル、1として定義され、100、200、および300が含まれます。フィールド3はProduct、Level、1として定義され、Diet、DietおよびDietが含まれます。フィールド4は、Product、Level、1として定義され、TBC、Grandma'sおよびTBCを含みます。フィールド5は、製品、レベル、2として定義され、仕入先、仕入先および仕入先が含まれます。

この例を再現するには、

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

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

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

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


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

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

  12. フィールド2-4で、「タイプ」セレクタを「レベル」に変更し、レベル番号を1として入力します。

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

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


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

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

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


    Essbase Webインタフェースのアウトライン・ビューア。Productディメンションが展開され、その下に共有メンバー(100-20、200-20および300-30)がある親メンバーDietが表示されます。製品ディメンションには、TBCおよびGrandmaの子を持つ新しいメンバー仕入先もあります。TBCには共有メンバー100-20と300-30が含まれ、おばあちゃんには共有メンバー200-20が含まれています。