ルール・ファイルを必要としないデータソース
ディメンションを構築する場合は、ルール・ファイルが必要です
データ・ソースに、そのデータ値をデータベースにロードするために必要なすべての情報が含まれている場合は、データ・ソースをフリー・フォームのデータ・ロードに直接ロードできます。
データ値を正常にロードするには、データ値を検出する前に、Essbaseで各ディメンションのメンバーを検出する必要があります。 たとえば、「図11-2」では、Essbaseによって、Texas、100-10、Jan、SalesおよびActualというメンバーを持つデータベースにデータ値42がロードされます。 Essbaseは、各ディメンションのメンバーが指定される前にデータ値を検出すると、データ・ソースのロードを停止します。
完全にマップするには、データ・ソースに次のものがすべて含まれている必要があり、それ以外は含まれていません:
-
各ディメンションの1つ以上の有効なメンバー。 メンバー名に次のいずれかが含まれる場合は、メンバー名を引用符で囲む必要があります:
-
スペース
-
数字(0-9)
-
ダッシュ(マイナス記号、ハイフン)
-
プラス記号
-
アンパサンド(&)
ルール・ファイルなしでデータ・ロードを実行している場合、Essbaseで無効なメンバー・フィールドが検出されると、エラー時に中止フラグがtrueに設定されていなくてもデータ・ロードが停止します。 Essbaseでは、無効なフィールドの前に読み取られたすべてのフィールドがデータベースにロードされるため、データ値の一部がロードされます。
-
-
1つ以上の有効なデータ値。 「有効なデータ・フィールド」を参照してください。
データ・ソースにデータ値の空白フィールドが含まれている場合は、空白フィールドを#MIまたは#MISSINGに置き換えます。 そうしないと、データ値が正しくロードされない可能性があります。
-
有効なデリミタ。 「有効なデリミタ」を参照してください。
データ・ソースのフィールドは、Essbaseが理解できる順序で書式設定する必要があります。 レコードをフォーマットする最も簡単な方法は、次に示すように、各ディメンションのメンバーとデータ・フィールドを含めることです:
Sales "100-10" Ohio Jan Actual 25
Sales "100-20" Ohio Jan Actual 25
Sales "100-30" Ohio Jan Actual 25
正しくフォーマットされていないデータソースはロードされません。 テキスト・エディタを使用してデータ・ソースを編集し、問題を修正できます。 多数の編集(複数のフィールドやレコードの移動など)を実行する必要がある場合は、ルール・ファイルを使用してデータ・ソースをロードすることを検討してください。 「ルール・ファイル」を参照してください。
次の項では、フリー・フォーム・データ・ソースをフォーマットするためのより複雑な方法について説明します。
メンバー・フィールドの範囲のフォーマット
ディメンション構築を実行する場合は、この項をスキップしてください。 ディメンション構築にはルール・ファイルが必要です。
メンバー名をディメンション内の範囲として表すことができます。 たとえば、販売および売上原価は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つの範囲を示しています: 実績対予算および販売対売上原価。 Essbaseでは、Actual、Budget、SalesおよびCOGの重複インスタンスは無視されます(たとえば、この例の2番目の行では、2番目のActualと2番目の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
列の書式設定
対称列
ディメンション構築を実行する場合は、この項をスキップしてください。 ディメンション構築にはルール・ファイルが必要です。
対称列のメンバー数は同じです。 次の例では、各ディメンション列の下にメンバーの列が1つあります。 たとえば、Productの下には1つの列(100-10および100-10)があり、Marketの下には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
ファイルに非対称列が含まれている場合、各列に適切なメンバー名のラベルを付けます。
前述の例は、JanラベルがActualおよびBudgetの上にあるため有効です。 Essbaseでは、両方の列がJanにマップされるのは明らかです。
次の例は、列ラベルが不完全なため無効です。 Janラベルは、Actual列とBudget列の上に表示される必要があります。
Jan Feb
Actual Budget Budget
"100-10" Sales Texas 112 110 243
"100-10" Sales Ohio 145 120 81