集約ストレージ・キューブへのデータのロード

Essbase集約ストレージ(ASO)キューブでは、最大1百万かそれ以上のメンバーを含む非常に大規模なディメンションの分析が容易になります。このような大きなアウトラインにデータをロードする際に役立つのは、増分ロード、データ・ロード・バッファの管理、およびデータのスライスのマージ/置換です。

このような大規模キューブへのデータ値のロードを効率的にサポートするため、Essbaseでは次のことが可能です。

  • 一時データ・ロード・バッファを介して、データの複数のソースを処理できます

  • データ・ロード・バッファで使用するリソースの割合を制御できます

  • 集約ストレージ・キューブにデータの複数のスライスを含めることができます(データベースに対する問合せで各スライスにアクセスして、すべてのデータ・セルを収集します)

  • 増分データのサイズに比例した時間で完了する増分データ・ロード・プロセスを指定します

集約ストレージ・キューブに値をロードするには、Essbase Webインタフェースで「ジョブ」ページを使用するか、MaxLalter database文およびimport data文を使用します。このドキュメントの例は、MaxLの使用に基づいています。

ノート:

値が集約を介して計算され、保管されている場合は、データ値が変更されると、Essbaseにより上位レベルの保管済の値が自動的に更新されます。その他の計算ステップは必要ありません。集約の存在およびサイズは、データ・ロードの実行時間に影響する可能性があります。

データをキューブにロードしている間は、データをエクスポートできません。

ASOアプリケーションをコピーするときに、キューブ内のすべてのデータを保持するには、アプリケーションをコピーする前に、すべての増分データ・スライスをメインのデータベース・スライスにマージする必要があります。マージされていない増分データ・スライスのデータはコピーされません。

データ・ロード・バッファを介したデータの増分ロード

増分データ・ロードを使用してEssbase集約ストレージ(ASO)キューブにデータ値をロードすると、パフォーマンスを改善できます。Essbaseで、まず一時データ・ロード・バッファに値がロードされ、すべてのデータ・ソースの読取り後にストレージへの最終書込みが実行されます。

import data MaxL文を使用して単一のデータソースからデータ値をロードする場合、集約ストレージ・データ・ロード・バッファは関係しません。

複数のMaxL import database data文を使用してデータ値を集約ストレージ・キューブにロードする場合は、Essbaseで、一時データ・ロード・バッファを利用でき、すべてのデータ・ソースの読取り後にストレージへの最終書込みが実行されます。集約ストレージ・データ・ロード・バッファを使用すると、データ・ロードの全体的なパフォーマンスを大幅に向上させることができます。

集約ストレージ・データ・ロード・バッファでは、すべてのデータソースが読み取られた後で、Essbaseにより値がソートされてコミットされます。特定のデータ・セルに複数の(または重複する)レコードが検出された場合、それらの値は累計されます。次に、Essbaseにより、累計された値が保管され、キューブ内の既存のデータ値の置換、加算または除算が行われます。

ノート:

集約ストレージのデータ・ロード・バッファを使用する場合は、データ・バッファのコンテンツをキューブにロードするときに、データ・ソースのセット全体に対して値の置換、加算または除算の選択内容を指定します。

集約の構築およびスライスのマージはリソースを大量に消費するため、データ・ロード・バッファがメモリー内に存在する間、これらの操作はできません。ただし、他のデータ・ロード・バッファにデータをロードし、キューブに対して問合せやその他の操作を実行することはできます。データ・セット全体がコミットされて集約が作成されるまで、問合せを短時間待機する場合があります。

データ・ロード・バッファは、バッファのコンテンツがキューブにコミットされるまで、またはバッファが破棄されたときにはアプリケーションが再起動されるまで、メモリー内に存在します。コミット操作に失敗した場合でも、バッファは破棄され、データはキューブにロードされません。データ・ロード・バッファを手動で破棄するには、alter database MaxL文を使用します。

ノート:

バッファのコンテンツをコミットする前にアプリケーションを停止すると、バッファは破棄されます。この場合は、アプリケーションを再起動した後、新しいバッファを初期化してそれにデータをロードする必要があります。

集約ストレージ・キューブのデータ・ロード・バッファを使用するには:

  1. データ・ロード・バッファを準備します。alter database MaxL文を使用して集約ストレージ・データ・ロード・バッファを初期化することで、データ値がソートされて累計されます。例:
    alter database ASOsamp.Basic 
       initialize load_buffer with buffer_id 1;
  2. import database MaxL文を使用して、データソースからデータ・ロード・バッファにデータをロードします。複数の文を使用して、複数のデータソースからデータをロードします。データソースのあらゆる組合せを含めることができます。データソースにルール・ファイルが必要な場合は、ルール・ファイルを指定します。

    次の例では、2つのデータソース(そのうちの1つはルール・ファイルを使用します)を同じデータ・ロード・バッファにロードします。

    import database ASOsamp.Basic data 
       from server data_file 'file_1.txt' 
       to load_buffer with buffer_id 1
       on error abort; 
    import database ASOsamp.Basic data
       from server data_file 'file_2' 
       using server rules_file ‘rule’ 
       to load_buffer with buffer_id 1
       on error abort;
    

    データを同時に複数のロード・バッファにロードするには、「複数のデータ・ロードの並列化」を参照してください。

  3. MaxL文のimport dataを使用して、データ・ロード・バッファのコンテンツをキューブにコミットします。例:
    import database ASOsamp.Basic data 
       from load_buffer with buffer_id 1;

    1つのMaxL文で複数のデータ・ロード・バッファのコンテンツをキューブにコミットするには、「複数のデータ・ロードの並列化」を参照してください。

次の増分データ・ロードの例では、新しいデータ値が既存の値と交差しないときに最適なパフォーマンスが得られます。

  1. ignore_missing_valuesおよびignore_zero_valuesプロパティを使用して、単一のデータ・ロード・バッファを作成します。例:

    alter database ASOsamp.Basic 
       initialize load_buffer with buffer_id 1
       property ignore_missing_values, ignore_zero_values;

    キューブの更新中にそのキューブをデータ送信要求に使用できるようにする必要がある場合は、resource_usage構文で80%に設定してデータ・ロード・バッファを初期化します。例:

    alter database ASOsamp.Basic 
       initialize load_buffer with buffer_id 1
       resource_usage 0.8 property
       ignore_missing_values, ignore_zero_values;
  2. データをバッファにロードします。例:

    import database ASOsamp.Basic data 
       from server data_file 'file_1.txt' 
       to load_buffer with buffer_id 1
       on error abort; 
    import database ASOsamp.Basic data
       from server data_file 'file_2'
       to load_buffer with buffer_id 1
       on error abort;
    
  3. スライスを作成し値を追加することで、データ・ロード・バッファのコンテンツをキューブにコミットします。例:

    import database ASOsamp.Basic data 
       from load_buffer with buffer_id 1
       add values create slice;

データ・ロード・バッファのリソースおよびディスク領域使用量

増分データ・ロードを使用してEssbase集約ストレージ(ASO)キューブにデータ値をロードする場合は、許可されているリソース使用率、および一時データ・ロード・バッファの待機時間に制約を課すことができます。表領域を管理することで、ディスク領域使用量を削減できます。

データ・ロード・バッファのリソース使用率の制御

増分データ・ロードの実行時、Essbaseでは、データをソートするために集約ストレージ・キャッシュが使用されます。データ・ロード・バッファが使用できるキャッシュの量は、割合を指定することで制御できます。割合は.01以上1.0以下の数値で指定します。重要なのは、小数点以下2桁のみです。たとえば、0.029は0.02と解釈されます。デフォルトでは、データ・ロード・バッファのリソース使用率は1.0に設定され、データベース上に作成されるすべてのデータ・ロード・バッファの合計リソース使用率が1.0を超えることはできません。たとえば、サイズ0.9のバッファが存在する場合、サイズが0.1より大きい別のバッファは作成できません。

ノート:

送信操作により、サイズ0.2のロード・バッファが内部的に作成されます。したがって、デフォルト・サイズが1.0のロード・バッファでは、データ・ロード・バッファのリソースが不十分なため、送信操作は失敗します。

バッファの使用が許可されるリソースの量を設定するには、Essbase Webインタフェースでデータ・ロードを開始するときに割合を指定します。MaxLを使用する場合は、alter database MaxL文でresource_usage構文を使用します。

たとえば、resource_usageを合計キャッシュの50%に設定するには、次の文を使用します。

alter database ASOsamp.Basic
   initialize load_buffer with buffer_id 1
   resource_usage .5;

同時送信操作を実行する予定の場合は、ASOLOADBUFFERWAIT構成設定を使用し、MaxL文のalter databasewait_for_resources構文を使用します。ASOLOADBUFFERWAITは、wait_for_resourcesオプションによる集約ストレージのデータ・ロード・バッファの作成に適用され、割当て、カスタム計算、データ更新操作に適用されます。

増分データ・ロードのディスク領域の管理

集約ストレージ・キューブへの増分データ・ロードでは、現在のデータファイルのサイズの2倍までのディスク領域が使用される場合があります。たとえば、キューブのデータのサイズが1 GBで、増分データ・ロードのサイズが200 MBで、合計サイズが1.2 GBであるとします。増分データ・ロード・プロセス中に、Essbaseでは最大2.4 GBのディスク領域が使用される場合があります。

データベースが2 GBより大きい場合は、デフォルト表領域の最大ファイル・サイズを2 GB以下に設定することで、ディスク領域の使用量を削減できます。

デフォルトの表領域の最大ファイル・サイズを設定するには、alter tablespace MaxL文を使用できます。

データ・ロード・バッファ・プロパティ

集約ストレージ(ASO)のロード・バッファにデータ値を増分的にロードするときは、ソース・データ内の欠落値とゼロ値を無視するようにEssbaseに指示でき、セルの競合を解決できます(重複セルを組み合せることで、無効な集約をなくします)。

設定できるデータ・ロード・バッファ・プロパティは次のとおりです。

  • ignore_missing_values: 入力データ・ストリームの#MI値を無視します

  • ignore_zero_values: 入力データ・ストリームの0を無視します

  • aggregate_use_last: 最後にロード・バッファにロードされたセルの値を使用して、重複セルを結合します

    ノート:

    集約ストレージ・データベースにテキスト値および日付値をロードする場合は、aggregate_use_lastプロパティを使用して無効な集約を排除します。その他のガイドラインは、「テキスト・メジャーと日付メジャーのロード、クリアおよびエクスポート」を参照してください。

コマンドで複数のプロパティを使用し、競合がある場合は、最後にリストされたプロパティが優先されます。

データ・ストリームでの欠落およびゼロの処理

データを増分ロードする場合は、データをデータ・ロード・バッファにロードするときに、ソース・データ内の欠落値およびゼロ値をどのように処理するかを指定できます。

データ・ロード・バッファ・プロパティを設定するには、alter database MaxL文でproperty構文を使用します。

例:

alter database ASOsamp.Basic
   initialize load_buffer with buffer_id 1
   property ignore_missing_values, ignore_zero_values;

セルの競合の解決

重複セルのセルの競合を解決するため、ロード・バッファに最後にロードされたセルを使用するかどうかを指定できます。

デフォルトでは、同じキーを持つセルが同じデータ・ロード・バッファにロードされると、Essbaseでは、値をまとめて追加することによってセルの競合を解決します。

ロード・バッファに最後にロードされたセルの値を受け入れることによって重複セルを組み合せるデータ・ロード・バッファを作成するには、alter database MaxL文でaggregate_use_last構文を使用します。

例:

alter database ASOsamp.Basic
   initialize load_buffer with buffer_id 1
   property aggregate_use_last;

ノート:

aggregate_use_last構文でデータ・ロード・バッファを使用すると、重複キーが存在しない場合でも、データ・ロードが非常に遅くなります。

複数のデータ・ロードの並列化

1つのEssbase集約ストレージ(ASO)キューブに複数のデータ・ロード・バッファが存在できます。一度にアクティブにできるコミット操作は1つのみですが、同じコミットで複数のデータ・ロード・バッファをコミットできます。この場合は、個別にバッファをコミットするよりも迅速になります。

複数のデータ・ロード・バッファにデータを同時にロードするには、個別のMaxLシェル・セッションを使用します。たとえば、1つのMaxLシェル・セッションで、IDが1のバッファにデータをロードします。

alter database ASOsamp.Basic
   initialize load_buffer with buffer_id 1 resource_usage 0.5;
import database ASOsamp.Basic data
   from data_file "dataload1.txt"
   to load_buffer with buffer_id 1
   on error abort;

同時に、別のMaxLシェル・セッションで、IDが2のバッファにデータをロードします。

alter database ASOsamp.Basic
   initialize load_buffer with buffer_id 2 resource_usage 0.5;
import database ASOsamp.Basic data
   from data_file "dataload2.txt"
   to load_buffer with buffer_id 2
   on error abort;

データがデータ・ロード・バッファに完全にロードされたら、1つのMaxL文を使用し、バッファIDのカンマ区切りのリストを使用して、両方のバッファのコンテンツをデータベースにコミットします。

たとえば、次の文では、バッファ1および2のコンテンツがロードされます。

import database ASOsamp.Basic data 
   from load_buffer with buffer_id 1, 2;

ノート:

集約ストレージ・キューブにSQLデータをロードするときは、8つまでのルール・ファイルを使用してデータを並列でロードできます。この機能は、前述のプロセスとは異なります。複数のSQLデータのロードを並列で実行する場合は、1つのimport database MaxL文でusing multiple rules_file構文を使用できます。Essbaseにより、複数の一時集約ストレージ・データ・ロード・バッファ(ルール・ファイルごとに1つ)が初期化され、1つの操作ですべてのバッファのコンテンツがキューブにコミットされます。

集約ストレージ・キューブのデータ・ロード・バッファのリスト

1つのEssbase集約ストレージ(ASO)キューブに複数のデータ・ロード・バッファが存在できます。キューブに存在するデータ・ロード・バッファのリストと説明については、MaxL文のquery databaselist load_buffers構文を使用します。

ASOデータ・ロード・バッファをリストするMaxL文の構文は次のとおりです。

query database appname.dbname list load_buffers;

この文では、既存の各データ・ロード・バッファに関する次の情報が戻されます。

表37-2 データ・ロード・バッファの情報

フィールド 説明

buffer_id

データ・ロード・バッファのID (1から4,294,967,296の間の数値)。

internal

データ・ロード・バッファがEssbaseによって内部的に作成された(TRUE)か、ユーザーによって作成された(FALSE)かを指定するブール。

active

データ・ロード・バッファがデータ・ロード操作によって現在使用されているかどうかを指定するブール。

resource_usage

データ・ロード・バッファが使用できる集約ストレージ・キャッシュの割合(.01以上1.0以下の数値)。

aggregation method

バッファ内の同じセルの複数の値を結合するために使用するメソッドの1つ:

  • AGGREGATE_SUM: バッファに同じセルの複数の値が含まれる場合に値を加算します。

  • AGGREGATE_USE_LAST: 最後にロード・バッファにロードされたセルの値を使用して、重複セルを結合します。

ignore_missings

入力データ・ストリームの#MI値を無視するかどうかを指定するブール。

ignore_zeros

入力データ・ストリームのゼロを無視するかどうかを指定するブール。

参照: Query Database (集約ストレージ)

データ・スライスの作成

スライスを作成するには、データ・ロード・バッファをEssbase集約ストレージ(ASO)キューブに増分コミットします。新しいスライスをキューブにロードした後、新しいデータを問合せで参照できるようになる前に、Essbaseによって、そのスライスに関する必要なすべてのビュー(集約ビューなど)が作成されます。

データ・スライスの作成は、増分データ・ロードのパフォーマンスを向上させるため有用です。増分データ・ロードにかかる時間は、新しいデータの量に比例します。キューブのサイズは要因ではありません。

データ・スライスを作成するには、import database MaxL文でcreate slice構文を使用します。

たとえば、値(デフォルト)をオーバーライドしてスライスを作成するには、次の文を使用します。

import database ASOsamp.Basic data
   from load_buffer with buffer_id 1
   override values create slice;

ノート:

スライスを作成するときにオーバーライド値を使用すると、#MISSING値はゼロに置換されます。このオプションを使用すると、add valuesオプションやsubtract valuesオプションを使用するよりもかなり時間がかかります。

参照: Import Data (集約ストレージ)

増分データ・スライスのマージ

集約ストレージ(ASO)キューブにデータを増分的にロードするときは、増分データ・スライスをメイン・キューブ・スライスに手動でマージするか、AUTOMERGEを使用してデータ・ロード中にスライスが自動的にマージされるようにEssbaseを構成することができます。

集約ストレージ・キューブへのデータ・ロード中の増分データ・スライスの自動マージ

AUTOMERGEおよびAUTOMERGEMAXSLICENUMBER構成設定を使用すると、Essbaseでデータ・ロード中に増分データ・スライスが集約ストレージ・キューブに自動的にマージされるようにするかどうかを指定できます。

AUTOMERGE構成設定オプション:

  • ALWAYS - データ・ロード中に増分データ・スライスを集約ストレージ・キューブに自動的にマージする場合に指定します。デフォルトでは、マージは4つの連続する増分データ・スライスごとに1回実行されます。ただし、AUTOMERGEMAXSLICENUMBER構成設定が使用されている場合は、AUTOMERGEMAXSLICENUMBER値を超えると、自動マージ・プロセスがアクティブ化されます。増分データ・スライスのサイズは、マージするデータ・スライスを選択する際の要因ではありません。

    デフォルト値はALWAYSです。

  • NEVER - データ・ロード中に増分データ・スライスを集約ストレージ・キューブに自動的にマージしない場合に指定します。増分データ・スライスを手動でマージするには、alter database MaxL文でmerge構文を使用します。

  • SELECTIVE—AUTOMERGEMAXSLICENUMBER構成設定で指定した増分データ・スライスの数を超えたときに、増分データ・スライスの自動マージ・プロセスをアクティブ化する場合に指定します。データ・ロードの増分データ・スライスの数がAUTOMERGEMAXSLICENUMBERの値を超えない場合、自動マージ・プロセスはアクティブ化されません。

増分データ・スライスの手動マージ

メイン・スライスにすべての増分データ・スライスをマージするか、メイン・スライスを変更しないまま単一のデータ・スライスにすべての増分データ・スライスをマージすることができます。スライスをマージするには、データのロードと同じ権限(データベース更新権限以上)が必要です。

キューブに新しい入力ビューが書き込まれた後、Essbaseによりスライスの集約ビューが作成されます。新しいスライス用に作成されるビューは、メイン・スライスに存在するビューのサブセットです。

ノート:

マージの実行中はデータをエクスポートできません。

リージョンの論理クリア操作を使用してリージョンからデータをクリアすると、クリアしたセルの値はゼロになるため、マージ操作中にゼロ値のセルを削除することを選択できます。

操作のマージを実行するには、alter database MaxL文でmerge構文を使用します。

たとえば、すべての増分データ・スライスをメイン・スライスにマージするには、次の文を使用します。

alter database ASOsamp.Basic
   merge all data;

すべての増分データ・スライスをメイン・スライスにマージし、ゼロ値のセルを削除するには、次の文を使用します。

alter database ASOsamp.Basic
   merge all data remove_zero_cells;

すべての増分データ・スライスを単一のデータ・スライスにマージするには、次の文を使用します。

alter database ASOsamp.Basic
   merge incremental data;

ノート:

集約ストレージ・アプリケーションをコピーする前に、すべての増分データ・スライスをメイン・・スライスにマージする必要があります。マージされていない増分データ・スライスのデータはコピーされません。

関連リンク

AUTOMERGE

AUTOMERGEMAXSLICENUMBER

Alter Database (集約ストレージ)

増分データ・スライスのコンテンツを使用したデータの置換

データ待機時間を短く保ちながら完全にリロードするのに十分な大きさの集約ストレージ(ASO)・データ・セットの場合、Essbaseでは、集約ストレージ・キューブの現在のコンテンツを削除し、キューブを、指定されたデータ・ロード・バッファのコンテンツに置換できます。

このアトミックな置換機能では、サービスを中断することなく、キューブの古いコンテンツに対する問合せが新しいコンテンツに移行されます。新しくロードされたデータ・セットは集約され、置き換えられたデータ・セットに対して存在したのと同じ一連のビューが作成されます。

Essbaseでは、キューブ内のすべての増分データ・スライスのコンテンツをアトミックに置換することもできます。データを、更新されない比較的大きい静的データ・セットと、個々の更新を識別するのは難しいが揮発性データ・セットに限定されている比較的小さい揮発性データ・セットに分割できる状況を考えてみます。たとえば、大きい静的データ・セットは過去3年間の履歴トランザクション・データで構成されています。ただし、過去2か月のトランザクション・データについては、ユーザーがソース・データベース内のトランザクションの特性を変更できます。これらの変更の追跡は、非常に複雑になる可能性があります。静的データ・セットをキューブ内のメイン・スライスとしてロードし、一時的なデータ・セットを1つ以上の増分スライスとしてロードできます。

ASO増分データ・ロードの間にスライスをコミットするときは、Essbaseにより、すべての増分データ・スライスの現在のコンテンツが削除され、指定されたデータ・ロード・バッファのコンテンツを含む新しいスライスが作成されます(MaxL文のimport databaseのバッファ・コミット指定でadd values構文を使用)。新しくロードされたデータ・セットは、メイン・スライスに存在するビューのセットに基づいて、集約ビューで拡張されます。

ノート:

override構文を使用するには、最適なパフォーマンスを得るためにignore_missing_valuesプロパティを使用してデータ・ロード・バッファを作成します。また、静的データ・セットと揮発性データ・セットの間に競合がないことを確認する必要があります(たとえば、同じセルの各データ・セットに値がない必要があります)。

データベースのコンテンツ、またはキューブ内の増分データ・スライスを置換するには、MaxL文のimport databaseoverride構文を使用します。

たとえば、キューブのコンテンツを置換するには、次の文を使用します。

import database ASOsamp.Basic data
   from load_buffer with buffer_id 1
   override all data;

すべての増分データ・スライスのコンテンツを新しいスライスに置換するには、次の文を使用します。

import database ASOsamp.Basic data
   from load_buffer with buffer_id 1
   override incremental data;

ノート:

override置換が失敗すると、Essbaseでは古いデータ・セットが引き続き使用されます。

Smart Viewの送信コマンドは、増分データ・ロード機能でoverride構文を使用する場合と同じです。

送信操作を実行している間、ロック、ロック解除および取得してロックの新しい要求は、送信操作が完了するまで待機します。

参照: Import Data (集約ストレージ)

増分データ・スライスの統計の表示

Essbaseでは、集約ストレージ(ASO)の増分データ・スライスのサイズと数、および増分データ・スライスの問合せコストについて統計が提供されます。

すべての増分データ・スライスにアクセスする問合せにかかる時間は、割合(.01以上1.0以下)で表されます。キューブにメイン・スライスと複数の増分データ・スライスがある場合、問合せ統計0.66とは、問合せ時間の3分の2が増分データ・スライスの問合せに費やされ、3分の1がメイン・データ・スライスの問合せに費やされたことを意味しています。増分データ・スライスの問合せコストが高すぎる場合は、スライスをマージできます。

スライスに関する情報を表示するには、MaxL文のquery databaselist aggregate_storage slice_info構文を使用します。次に例を示します。

query database ASOsamp.Basic list aggregate_storage slice_info;

Query Database (集約ストレージ)

集約ストレージのデータ・ロードでのレネゲード・メンバー

レネゲード・メンバーでは、指定されたメンバーの組合せに欠落メンバーまたは無効なメンバーがある場合でも、Essbase集約ストレージ(ASO)のデータ・ロードを続行できます。

データ・ロードで欠落メンバーまたは無効なメンバーが検出された場合、データ・ロードが続行され、ディメンション内のレネゲード・メンバーとしてタグ付けされたメンバーの下に、欠落メンバーまたは無効なメンバーのデータ値が保管されます。ディメンションにレネゲード・メンバーが設定されていない場合、レコードは拒否されます。レネゲード・メンバーのデータがすでに存在する場合の動作は、データ・ロード・ルール・ファイルの作成時に値の加算または値の上書きのどちらを選択したかによって異なります。

各ディメンションにレネゲード・メンバーとして割り当てることができるメンバーは1つのみであり、レネゲード・メンバーはレベル0のメンバーである必要があります。

次のデータ・ロード・ファイルには、SCという名前のメンバーが含まれています。

Product  Measures   *Data*
NY,      Sales       100
SA,      Sales       200
SC,      Sales       300    

次のアウトラインには、SCという名前のメンバーはありません。ただし、SAという名前のメンバーが、Productsディメンションのレネゲード・メンバーとして設定されています。

Products (+)
   NY (+)
   SA (+)
Measures (+)
   Sales (+)
   COGS (+)

データ・ロード中に、メンバーSCとSalesの組合せのデータ値である300が、レネゲード・メンバーSAとSalesにロードされます。

次のデータ・ロード・ファイルには、SCとSalesのレコードが2つあり、それぞれ値が異なります。

Product    Measures    *Data*
NY,        Sales        100
SA,        Sales        200
SC,        Sales        250
SC,        Sales        300 

SCとSalesの両方の値(250と300)がSAとSalesにロードされます。値を加算することを選択した場合、セルの値は550 (250 + 300)です。値を上書きすることを選択した場合、セルの値は最後に読み込まれた値です(この場合は300)。

次の例は、次のデータ・ロード・ファイルを使用したレネゲード・メンバーの動作を示しています。

Months    Transaction Type    Customer    Product    Price
Jan,      Sale,               Discard1,   Product1   300
Jan,      Sale,               Discard1,   Discard2   300
Jan,      Sale,               Customer1,  Discard2   300

Discard1およびDiscard2はアウトラインに存在しません。

  • 例1:

    Customerディメンションにレネゲードとしてタグ付けされたCustomer1メンバーがあり、他のディメンションにレネゲード・メンバーがない場合、最初のレコードのみが次の交差にロードされます:

    Jan    Sale    Customer1(Ren)    Product1    300

    Productディメンションにレネゲード・メンバーがないため、他の2つのレコードは拒否されます。拒否されたレコードは、レネゲード・メンバー・ログ・ファイルに記録されます。

  • 例2:

    Productディメンションにレネゲードとしてタグ付けされたProduct1メンバーがあり、他のディメンションにレネゲード・メンバーがない場合、最後のレコードのみが次の交差にロードされます:

    Jan    Sale    Customer1    Product1(Ren)    300

    Customerディメンションにレネゲード・メンバーがないため、他の2つのレコードは拒否されます。拒否されたレコードは、レネゲード・メンバー・ログ・ファイルに記録されます。

  • 例3:

    CustomerディメンションとProductディメンションの両方にレネゲード・メンバー(Customer1およびProduct1)がある場合、すべてのレコードは次の交差にロードされます。

    Jan    Sale    Customer1(Ren)    Product1(Ren)    900 (or 300 if overwrite is enabled)

例4:

例4では、Customerディメンションにレネゲードとしてタグ付けされたRenMember1があり、Productディメンションにレネゲードとしてタグ付けされたRenMember2があります。次のデータ・ロード・ファイルを使用すると、CustomerディメンションとProductディメンションの両方にレネゲード・メンバーがあるため、すべてのレコードがロードされます。

Customer1およびProduct1はレネゲード・メンバーではありません。Discard1およびDiscard2はアウトラインに存在しません。

データ・ロード・ファイル:

Months  Transaction Type  Customer    Product   *Data*
Jan,     Sale,            Discard1,   Product1   300
Jan,     Sale,            Discard1,   Discard2   300
Jan,     Sale,            Customer1,  Discard2   300

破棄メンバーのデータ・ロード・ファイルで指定された値は、かわりに、指定されたレネゲード・メンバーに自動的にロードされます。

ロードされたデータ:

Months  Measures   Customer          Product           Price
Jan     Sale       RenMember1(ren)   ProductR          300
Jan     Sale       RenMember1(ren)   RenMember2(ren)   300
Jan     Sale       CustomerR         RenMember2(ren)   300

レネゲード・メンバーのロギングは、デフォルトでは有効になっていません。ロギングを有効にするには、RENEGADELOG構成設定を使用します。TRUEに設定すると、レネゲード・メンバーの交差にロードされたメンバーのロギングが有効になります。

ノート:

レネゲード・メンバーは、計算スクリプトおよびレポート・スクリプトで参照できます。レネゲード・メンバーは、表形式のデータ・ロードまたはスプレッドシート更新操作ではサポートされていません。

集約ストレージのデータ・ロードでのソース・データの相違点

集約ストレージ(ASO)キューブへの値のロードのための準備としてソース・データ内のレコードを処理する間には、Essbaseにより、メンバーに式がない、レベル0のディメンションの交差のみについて、レコードが処理されます。

次の例は、レベル0の交差のみについてレコードを含む、データのソースを示しています。最後のフィールドにはデータ値が含まれています。その他のフィールドは、それらの各ディメンションのレベル0メンバーです。

Jan, Curr Year, Digital Cameras, CO, Original Price, 10784
Jan, Prev Year, Camcorders, CO, Original Price, 13573

Essbaseでは上位レベルのメンバーを指定するレコードが無視され、データ・ロードの終了時にスキップされたレコード数が表示されます。

たとえば、メンバーMid Westはレベル1のメンバーであるため、次のレコードはスキップされます:

Jan, Curr Year, Digital Cameras, Mid West, Original Price, 121301

Essbaseではキューブに値をコミットする前にレコードの読取りとソートが内部的に行われるため、データのソートは不要です。