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

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

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

データ値を正常にロードするには、Essbaseにより、データ値の検出の前に、各ディメンションからメンバーが1つ検出される必要があります。たとえば、Essbaseでは、Texas、100-10、Jan、SalesおよびActialの各メンバーとともに、データ値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でその範囲が正しく解釈されるようにします。ある範囲内に同じメンバーが複数回含まれている場合、Essbaseでは重複メンバーは無視されます。

次の最初の表は、ActualとBudget、Sales、COGSの繰返しメンバーおよび2つの範囲(ActualとBudget、SalesからCOGS)を示しています。Essbaseでは、Actual、B 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

1つ目の範囲の最初のメンバーであるActialでは、Essbaseによってデータ値は2番目の範囲の各メンバー(SalesとCOGS)にマッピングされます次に、Essbaseによって最初の範囲の次の値であるB 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