ロード・ルールを必要としないデータのソース
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