機械翻訳について

生成参照の使用

データのトップダウン・ソースは、左から右に、最上位レベルから最下位レベルの順に編成されます。 各レコードは、最も一般的な情報から始まり、最も具体的な情報に進みます。 新規メンバーの名前はレコードの末尾にあります。 データのトップダウン・ソースを使用する場合は、生成参照の構築メソッドを使用します。 ルール・ファイルで、データのソースの各フィールドの世代番号とフィールド・タイプを指定します。

Essbaseは、ディメンション内のメンバーの階層位置に従って、ディメンション内のメンバーに番号を付けます。 これらの番号は「生成参照」と呼ばれます。 ディメンションは常に世代1です。 ディメンション内の同じブランチにあるすべてのメンバーは、generationと呼ばれます。 世代には、ディメンションに対する相対位置(ディメンション1に対する相対位置)に従って、トップダウンで番号が付けられます。

たとえば、次に示すように、Productディメンションは世代1です。 Productには、世代2の100のメンバーがあります。100には、世代3の100-10などのメンバーがあります。 生成参照の作成メソッドを使用するには、ルール・ファイルで生成参照番号を指定します。

図15-1 世代


この図は、図の前のテキストで説明されている世代参照番号を示しています。

Productディメンションを持つキューブがあるとします。 ディメンションは世代1であるため、製品は世代1です。 次のトップダウンのタブ区切りデータ・ファイルを使用してProductディメンションを構築するとします:

500	500-10	500-10-10
500	500-10	500-10-20
500	500-20	500-20-12
500	500-20	500-20-15
500	500-20	500-20-20

次のルール・ファイルを使用すると、世代参照を使用してディメンションを構築できます。 ルール・ファイルは、データのソースの各フィールドの世代番号を指定します。

生成ビルドのルール・ファイル

Essbaseは、データおよびルール・ファイルのソースから次の階層を構築します:

図15-2 生成参照


このイメージは、世代構築時に作成される新しいメンバーを示しています。

空のフィールドの処理

世代を使用してディメンションを構築する場合、NULL値の処理方法を選択できます。 Null処理では、Essbaseがデータのソースで空のフィールド(nullフィールドとも呼ばれる)を検出したときに実行するアクションを指定します。

NULL処理が有効になっていない場合、EssbaseはNULL値を含むすべてのレコードを拒否し、エラーをエラー・ログに書き込みます。

NULL処理が有効になっている場合、EssbaseはNULLを次のように処理します:

  • 欠落フィールド: EssbaseがGENERATIONフィールドを予期している場合にnullが発生すると、Essbaseは次のGENERATIONフィールドをプロモートして、欠落しているフィールドを置き換えます。

    次の例では、Product generation 3列にフィールドはありません:

    Product		Product		Product
    Generation	Generation	Generation
    2		3		4
    
    100				100-10a

    Essbaseがレコードを読み取ると、データ・ソースが次の例のように、第4世代のフィールド(100-10a)が第3世代にプロモートされます:

    Product		Product		Product
    Generation	Generation	Generation
    2		3		4
    
    100		100-10a		
  • セカンダリ・フィールドの前にフィールドがありません: セカンダリ・フィールドの直前にNULLが発生した場合、Essbaseはセカンダリ・フィールドを無視します。 (セカンダリ・フィールド・タイプは、属性ディメンションの別名、プロパティ、式、重複生成、重複生成別名、通貨名、通貨カテゴリ、属性親、UDAおよび名前です。)

    次の例では、GEN2、ProductsまたはALIAS2、Products列にフィールドがありません:

    GEN2,Products   ALIAS2,Products   GEN3,Products   GEN4,Products
                    Cola              100-10          100-10a

    Essbaseは、レコードを読み取るときに、ALIAS2フィールドを無視し、GEN3フィールド(100-10)をGEN2に昇格し、GEN4フィールド(100-10a)をGEN3に昇格します。データのソースは次の例のようになります:

    GEN2,Products   ALIAS2,Products   GEN3,Products   GEN4,Products
    100-10          Cola              100-10a
  • セカンダリ・フィールドがありません: Essbaseでセカンダリ・フィールドが必要な場合にNULLが発生すると、EssbaseはセカンダリNULLフィールドを無視してロードを続行します。

    次の例では、ALIAS2のProducts列にフィールドはありません:

    GEN2,Products   ALIAS2,Products   GEN3,Products   GEN4,Products
    100                               100-10          100-10a

    Essbaseは、レコードを読み取るときに、ALIAS2フィールドを無視して他のフィールドをロードします。