データのロードおよびディメンションの構築のヒント

時間の節約のために、Essbaseへの増分ディメンション構築を実行でき、データのサブセットをロードできます。集計値が上書きされないようにするために、データを親メンバーにロードしないでください。データ処理エラーを防ぐために、ソース内の各レコードに同じ数のデータ値フィールドがあることを確認してください。

データのロードとディメンションの構築に役立つ詳細情報について、次の各トピックを参照してください。

増分ディメンション構築

キューブ・アウトラインの構築中にEssbaseで複数のデータ・ソースを読み取れるようにするには、増分ディメンション構築を使用します。増分ディメンション構築では、すべてのデータ・ソースが処理されるまで、アウトラインの再構築が先延ばしになります。

データのみをロードする場合やディメンション構築で単一データソースを使用している場合は、このトピックをスキップします。

デフォルトでは、アウトラインに変更を加えるたびに、Essbaseによって変更のタイプが認識され、必要に応じてキューブが再構築されます。再構築では、データベースが再構築されます。これには時間がかかりディスク領域が使用されます。

増分ディメンション構築(再構築が延期されたディメンション構築)では、ディメンション構築のために複数のデータソースが読み取られ、すべてのデータソースが処理されるまで再構築は延期されます。

仮想のディメンションを追加する場合(動的計算またはラベルのみ)、キューブに存在するデータは、新しいディメンションで最初のレベル0保管済メンバーとともに保管されます。階層内に少なくとも1つの保管済メンバーがある必要があります。ない場合は、アウトラインの検証中にエラーが戻されます。

アプリケーション・ワークブックを使用して既存のキューブにディメンションを増分追加すると、データは新しい最上位メンバーに自動的にマップされます。既存のデータのマップ先となる保管済メンバーは選択できません。新しいディメンションに動的計算である最上位メンバーがある場合、動的メンバーにはデータを保管できないため、データが失われます。

アプリケーション・ワークブックを使用して最上位メンバーを動的計算にする新しいディメンションを追加する場合は、次のステップに従います。
  1. 最上位メンバーとともに新しいディメンションを保管済として追加します。
  2. 計算スクリプトを実行して、新しい最上位メンバーのデータをディメンション内の別の保管済メンバーにコピーします。
  3. 最上位メンバーを動的計算に変更します。

MaxLを使用すると、すべてのデータソースを1つのimport文に含めることができます。ファイルごとにアウトラインを検証するかどうかを制御できます。最後のファイルに対するアウトラインの検証は有効にする必要があります。

どのような場合でも、データソースはリストされている順序で処理されます。

ノート:

MaxLを使用すると、ファイルごとにアウトラインの検証を適用または抑制できます。有効なアウトラインを保証するには、最新ビルドによって確実にアウトラインが検証されるようにします。

関連項目

キューブ・デザイナでのキューブの増分更新

データベース再構築の最適化(ブロック・ストレージ・キューブ)

集約ストレージ・キューブの再構築(集約ストレージ・キューブ)

データをロードする場所

Essbaseデータ・ロードを実行する前に、意図せずデータが上書きされないように、対策を講じます。

ディメンション構築を行う場合または集約ストレージ・データベースを処理する場合は、この項をスキップします。

親メンバーにデータをロードする場合は、データベースの計算時に子のデータ値の集計によって、親のデータ値が上書きされることがあります。上書きを回避するには、次のようにします。

  • 可能なかぎり、親に直接データをロードしないでください。

  • 親メンバーにデータをロードする必要がある場合は、その親の子の#MISSING値を親に集計しないようにEssbaseに指示します。

集計演算子は、アプリケーション・ワークブック、アウトラインまたは計算スクリプトで設定できます。

集計を設定するには、alter database MaxL文を使用します。

この表に示した方法は、子の値が空(#MISSING)である場合にのみ使用できます。子がデータ値を持っている場合、そのデータ値で親のデータ値が上書きされます。「#MISSING値」を参照してください。

ノート:

動的計算メンバーまたは属性メンバーにはデータをロードできません。たとえば、年が動的計算メンバーである場合、このメンバーにはデータをロードできません。かわりに、動的計算メンバーではないQtr1、Qtr2、Qtr3およびQtr4にデータをロードします。

ソース・データ内の欠落フィールド

Essbaseデータ・ロードを実行するときは、ソース・データ内の各レコードで、データ値フィールドの数が同じである必要があります。データ値が欠落している場合、データ・ロードは正しく処理されません。

ディメンション・フィールドまたはメンバー・フィールドが欠落している場合、Essbaseでは、以前にそのディメンション・フィールドまたはメンバー・フィールドで使用されていたその値が使用されます。

ルールに余分な空白フィールドがある場合は、空のフィールドが、隣のフィールドと結合されます。

集約ストレージ・キューブでは、値はレベル0のセルにのみロードできます。ソース内の値として#MISSINGまたは#MIを指定すると、キューブ内の対応するセル(存在する場合)が削除されます。

集約ストレージ・キューブでのデータ・ロードの相違点の詳細は、次を参照してください:

ソースからのレコードのサブセットのロード

Essbaseデータ・ロードまたはディメンション構築の間に、ソース・データからレコードのサブセットをロードできます。

レコードのサブセットをロードするには:

  1. テキスト編集ツールを使用して、データソース内のレコードに番号を付けます。
  2. レコード番号を含む列を無視するように、ロード・ルールを設定します。
  3. 拒否基準を定義して、ロードする必要があるレコード以外のすべてのレコードを拒否します。たとえば、レコード番号が250より小さい列と500より大きい列を無視するようにして、該当するすべてのレコードを拒否します。

    エラー・ログで保持できる数より多くのレコードを拒否することはできません。デフォルトでは、この上限は1000です。この上限を変更するには、DATAERRORLIMIT構成を設定します。