ロード・ルールを必要としないデータのソース

Essbaseキューブにデータをロードするには、通常、ソース・データがキューブに完全にマップされていないかぎり、ロード・ルールが必要です。ただし、データ・ソースに必要な情報がすべて含まれている場合は、ルールなしでフリーフォーム・データ・ロードでデータ・ソースを直接ロードできます。

ディメンション構築を実行する場合、この項はスキップします。ディメンションの構築には、常にロード・ルールが必要です。

データ値を正常にロードするには、Essbaseにより、データ値の検出の前に、各ディメンションからメンバーが1つ検出される必要があります。たとえば、Essbaseは、Texas、100-10、Jan、SalesおよびActualの各メンバーとともにデータ値42をデータベースにロードします。


この画像は、画像の前のテキストで説明した、データ・ソース内のレコードとフィールドの概念を示しています。

Essbaseがデータ値を検出した後で各ディメンションのメンバーが指定されると、データのロードは停止されます。

完全にマッピングするには、データのソースに次のものがすべて含まれ、他のものは含まれていないことが必要です:

  • 各ディメンションの1つ以上の有効なメンバー。メンバー名に次のいずれかが含まれる場合は、メンバー名を引用符で囲む必要があります。

    • スペース

    • 数字(0–9)

    • ダッシュ(マイナス符号、ハイフン)

    • プラス符号

    • アンパサンド(&)

      ルール・ファイルを使用しないでデータ・ロードを実行する場合、Essbaseによって無効なメンバー・フィールドが検出されると、中止またはエラー・フラグがtrueに設定されていなくても、データ・ロードは停止されます。Essbaseでは、無効なフィールドより前に読み込まれたフィールドは、すべてデータベースにロードされます。つまり、データ値の一部がロードされることになります。

  • 1つ以上の有効なデータ値。有効なデータ・フィールドを参照してください。

    データソースにデータ値の空白フィールドが含まれている場合は、空白フィールドを#MIまたは#MISSINGで置き換えます。そうしないと、データ値が正常にロードされない可能性があります。

  • 有効なデリミタ。「有効なデリミタ」を参照してください。

データソース内のフィールドは、Essbaseで解釈できる順序でフォーマットされている必要があります。レコードをフォーマットする最も簡単な方法は、次に示すように、各ディメンションのメンバー1つとデータ・フィールド1つを含めることです。

Sales "100-10" Ohio Jan Actual 25
Sales "100-20" Ohio Jan Actual 25
Sales "100-30" Ohio Jan Actual 25

正しくフォーマットされていないデータソースはロードされません。データソースをテキスト・エディタで編集して、問題を修正できます。多くの編集(複数のフィールドおよびレコードの移動など)を実行する必要がある場合は、ロード・ルールを使用します。

次の項では、フリーフォームのソースのより複雑なフォーマット方法について説明します。

ソース・データのメンバー・フィールドの範囲

Essbaseメンバー名をディメンション内の範囲として表現できます。範囲は一連の値です。データ・ソースには、同時に複数のディメンションの範囲を含めることができます。ロード・ルールを使用しない場合、Essbaseがデータ・ロード中に範囲を処理する方法を学習します。

ディメンション構築を実行する場合、ディメンション構築には常にルールが必要であるため、この情報は適用されません。データ・ロードを実行する場合、この情報はルールを使用しない場合に適用されます(ただし、データ・ロード・ルールを設計するときに範囲について知っておくと便利です)。

メンバー名をディメンション内の範囲として表現できます。たとえば、SalesとCOGSはMeasuresディメンション内の範囲を形成します。メンバー名の範囲によって一連の値を処理できます。

データ・ソースには、同時に複数のディメンションの範囲を含めることができます。次の例では、JanとFebがYearディメンションの範囲を形成し、SalesとCOGSがMeasuresディメンションの範囲を形成します。


Actual   Texas   Sales   COGS
           Jan   Feb   Jan   Feb
"100-10"   98    89    26    19
"100-20"   87    78    23    32

Salesは最初の2列に対して、COGSは最後の2列に対して定義されています。

自動範囲

Essbaseによって、間にデータ・フィールドを挟まないで同じディメンションのメンバーが複数検出されると、そのディメンションの範囲が設定されます。この範囲は、Essbaseによって同じディメンションの別のメンバー名が検出されるまで有効です。同じディメンションの別のメンバー名が検出されると、この範囲はEssbaseによって新しいメンバーまたは新しいメンバー範囲で置き換えられます。

次の例には、YearディメンションのJanからFebの範囲が含まれています。これは、EssbaseによってMarなどの別のメンバー名が検出されるまで有効です。EssbaseによってMarが検出されると、範囲はJan、Feb、Marに変わります。

Texas   Sales
                    Jan   Feb   Mar
Actual   “100-10"   98    89    58
         “100-20”   87    78    115

範囲外のデータ値

Essbaseによってメンバー範囲が検出されると、対応するデータ値の範囲が存在すると想定されます。データ値がメンバー範囲にない場合、データ・ロードは停止します。Essbaseでは、無効なフィールドより前に読み取られたデータ・フィールドは、キューブにロードされます。つまり、部分的なデータ・ロードになります。

次の例には、定義されたメンバー範囲内のメンバー・フィールドよりも多いデータ・フィールドが含まれています。データ・ロードは、10のデータ・フィールドに達した時点で停止します。Essbaseによって100および120のデータ・フィールドがキューブにロードされます。

Cola   Actual   East
        Jan   Feb
Sales   100   120   10
COGS    30    34    32

範囲内の繰り返されるメンバー

Essbaseによって範囲が正しく解釈されるようにソース・データ内に範囲を構築します。ある範囲内に1つのメンバーが2回以上存在する場合、Essbaseでは繰り返されるメンバーは無視されます。

次の最初の表は、Actual、Budget、SalesおよびCOGSの繰り返されるメンバーと2つの範囲(ActualからBudgetおよびSalesからCOGS)を示しています。Essbaseでは、Actual、Budget、SalesおよびCOGSの繰り返されるインスタンスは無視されます(たとえば、2行目の繰り返されるActualとBudgetは無視されます):


Cola   East
      Actual   Budget   Actual   Budget
      Sales   Sales   COGS   COGS
Jan   108     110     49     50
Feb   102     120     57     60

最初の範囲の最初のメンバーであるActualでは、Essbaseによってデータ値は2番目の範囲の各メンバー(SalesとCOGS)にマッピングされます。次に、Essbaseによって最初の範囲の次の値であるBudgetでも、同様に2番目の範囲の各メンバーに値がマッピングされます。結果として、Essbaseではファイルは次に示すように解釈されます。

Cola   East
      Actual         Budget
      Sales   COGS   Sales   COGS
Jan   108     110    49      50
Feb   102     120    57      60

ソース・データの列

ロード・ルールを使用しない場合、Essbaseがデータ・ロード中に列を処理する方法を学習します。キューブにロードするソース・データの列は、対称または非対称です。

ディメンション構築を実行する場合、ディメンション構築には常にルールが必要であるため、この情報は適用されません。データ・ロードを実行する場合、この情報はルールを使用しない場合に適用されます(ただし、データ・ロード・ルールを設計するときに列について知っておくと便利です)。

データ・ソースには、通常、フィールドの列が含まれます。Essbaseでは、対称または非対称列のデータのロードがサポートされます。

対称列

対称列の下には同数のメンバーがあります。次の例では、各ディメンション列の下にメンバーの列が1つあります。たとえば、製品の下に1列(100-10と100-10)、市場の下に1列(TexasとOhio)があります。


Product    Measures   Market    Year   Scenario   
"100-10"   Sales      Texas    Jan    Actual     112
"100-10"   Sales      Ohio     Jan    Actual     145

次のファイルの列も、JanおよびFebの下に同数のメンバーがあるため、対称です。

                                 Jan               Feb
                           Actual   Budget   Actual   Budget
"100-10"   Sales   Texas   112      110      243      215
"100-10"   Sales   Ohio    145      120      81       102

非対称列

非対称列の下のメンバー数は異なります。次の例では、Jan列とFeb列は非対称です。これは、Janの下には2列(ActualとBudget)あり、Febの下には1列(Budget)あるためです。

                           Jan      Jan      Feb
                           Actual   Budget   Budget
"100-10"   Sales   Texas   112      110      243
"100-10"   Sales   Ohio    145      120      81

ファイルに非対称列が含まれている場合は、各列に適切なメンバー名のラベルを付加します。

前述の例は、ActualとBudgetの上にJanラベルがあるため有効です。両方の列がJanにマッピングされることがEssbaseに対して明確です。

次の例は、列ラベルが不十分なので無効です。Actual列とBudget列の上にJanラベルが必要です。

                           Jan               Feb
                           Actual   Budget   Budget
"100-10"   Sales   Texas   112      110      243
"100-10"   Sales   Ohio    145      120      81