Import Data (集約ストレージ)

ASOモードのMaxL import data文は、Essbase集約ストレージ・データベースにデータをロードするために役立ちます。データまたはディメンションのロードに必要な最小アプリケーション権限は、データベース更新です。この文を使用して、テキスト・ファイルまたはその他のソースから、ルール・ファイル付きまたはなしでデータをインポートします。

構文


imp_data_as.gifの説明が続きます
図imp_data_as.gifの説明

MaxLデータのインポートを使用すると、次の方法で集約ストレージ・データベースにデータまたはディメンションをロードできます。

キーワード

import database DBS-NAME data from ...

データ・インポートをローカル・ファイルから行うかサーバー・ファイルから行うかと、どのタイプのファイルからデータをインポートするかを指定します。

import database DBS-NAME ...using ... rules_file

指定されたルール・ファイルを使用して、データベースにデータをインポートします。Essbase以外の一意のデータ・ソースごとに、個別のルール・ファイルが必要です。ネイティブなEssbaseのエクスポート・ファイルからのデータを再インポートするのみの場合は、ルールを使用する必要がない場合があります。

import database DBS-NAME … on error...

必須。データ・ロード中にエラーが発生した場合の指示をEssbaseに伝えます。操作を中断するか、指定されたエラー・ログに書き込むまたは追加します。

import database DBS-NAME … from data_string …

単一のデータ・レコードを、選択したデータベースにロードします。data_stringに続く文字列は、改行なしの連続した行である必要があります。

例:

import database ASO_TypedMeasures.Basic data from data_string '"Color" "Shoes" "Connecticut" "Q1" #Txt:Empty' on error abort;
import database DBS-NAME … connect as …

SQLソースからインポートする場合、常にルール・ファイルを使用する必要があります。適切なユーザー名とパスワードを指定してください。

  • ソース・データへのネットワーク接続がEssbase接続とデータソースに保存されている場合は、MaxL文でEssbase資格証明を指定します。例:

    import database Sample.Basic data connect as "Essbaseadmin" identified by "Essbasepa55w0RD" using server rules_file "myrulefile" on error write to 'loadds.err';
  • それ以外の場合は、外部RDBMSソースに接続するために必要なユーザー名とパスワードを指定します。例:

    import database Sample.Basic data connect as "RDBMSuser" identified by "RDBMSpa55w0RD" using server rules_file "myrulefile" on error write to 'loadds.err';

SQLデータを集約ストレージ・データベースにロードする場合、<buffer-block-spec>に指定する文法でmultiple rules_fileの文法を使用すると、最大8つのルール・ファイルを使用して、並行してデータをロードできます。Essbaseでは、(ルール・ファイルごとに1つの)複数の一時集約ストレージ・データ・ロード・バッファが初期化され、データがバッファに完全にロードされたら、すべてのバッファのコンテンツが1度の操作でデータベースにコミットされます。

各ルール・ファイルでは、同じ認証情報(SQLユーザー名とパスワード)を使用する必要があります。

次の例で、SQLデータは2つのルール・ファイル(rule1.rulおよびrule2.rul)からロードされます。

import database ASOsamp.Basic data 
   connect as TBC identified by 'password' 
   using multiple rules_file 'rule1','rule2' 
   to load_buffer_block starting with buffer_id 100 
   on error write to "error.txt";

ルール・ファイルのリストを指定する際に、ルール・ファイル名をカンマで区切った文字列を使用します(.rulの拡張子は除く)。ルール・ファイルのファイル名は8バイトを超えないようにし、ルール・ファイルはEssbaseサーバー上にある必要があります。

各ルール・ファイルのデータ・ロード・バッファを初期化する際に、Essbaseでは、リストの最初のルール・ファイルに指定した最初のデータ・ロード・バッファID(たとえば、rule1のID 100)を使用し、そのID番号を以降のデータ・ロード・バッファごとに1ずつ増分させます(たとえば、rule2のID 101)。

使用しているODBCドライバは、SQLの並列接続向けに構成されている必要があります。

ノート:

集約ストレージ・データベースに複数のSQLデータ・ロードを並行して実行することは、to load_buffer with buffer_idの文法を使用してデータをバッファにロードし、次にfrom load_buffer with buffer_idの文法を使用してバッファ・コンテンツをデータベースに明示的にコミットすることとは異なります。

import database DBS-NAME … to load_buffer with buffer_id …

集約ストレージ・データベースに複数のデータ・ファイルのデータをインポートしている場合、データのインポート操作をより効率的にするために、最初にバッファをインポートできます。

import database DBS-NAME … from load_buffer with buffer_id …

複数のデータ・ファイルのデータを集約ストレージ・データベースにインポートしている場合、データのインポート操作をより効率的にするために、データ・ロード・バッファからインポートできます。

import database DBS-NAME … from load_buffer with buffer_id … override|add| subtract values

指定されたデータ・ロード・バッファのコンテンツをデータベースにコミットするときに、既存の値に加算するか、既存の値から減算するか、既存の値を上書きするかを指定します。

import database DBS-NAME … from load_buffer with buffer_id...create slice

新しいデータ・スライスを作成して、指定されたデータ・ロード・バッファのコンテンツをデータベースにコミットします。

import database DBS-NAME … from load_buffer with buffer_id override all data

データベースの現在のコンテンツを削除し、指定されたデータ・ロード・バッファのコンテンツでデータベースを置き換えます。

import database DBS-NAME … from load_buffer with buffer_id override incremental data

データベース内のすべての増分データ・スライスの現在のコンテンツを削除し、指定されたデータ・ロード・バッファのコンテンツを持つ新しいデータ・スライスを作成します。新しいデータは、データ・ロード・プロパティadd values (aggregate_sum)を使用して作成されます。新しいデータとプライマリ・スライスの間に重複セルがある場合にそれらに問い合せると、値は加算されます。

ノート

  • この文では、データベースが起動している必要があります。

  • import文を使用する場合は、エラーのときの対処を指定する必要があります。

次の例では、Essbaseファイル・カタログの共有フォルダに格納されているデータ・ファイルを使用してデータ・ロードを実行します。ルール・ファイルは不要です。

import database 'ASOSamp'.'Basic' data from server data_file 'catalog/shared/ASO_Sample_Data' on error write to "asodataload.err";

次の例では、指定したデータ・ロード・バッファの内容をASOsamp.Basicデータベースにコミットします。

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

次の例では、複数のデータ・ロード・バッファ(buffer_id 1とbuffer_id 2)の内容をASOsamp.Basicデータベースにコミットします。

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

次の例では、値を追加して、指定したデータ・ロード・バッファの内容をASOsamp.Basicデータベースにコミットします。

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

次の例では、指定したデータ・ロード・バッファの内容をASOsamp.Basicデータベース内の新しいデータ・スライスにコミットします。

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

次の例では、ASOsamp.Basicデータベースの内容を、指定したデータ・ロード・バッファの内容で置換します。

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

次の例では、指定したデータ・ロード・バッファの内容を含む新しいデータ・スライスを作成することで、ASOsamp.Basicデータベース内のすべての増分データ・スライスの内容を置換します。新しいデータは、データ・ロード・プロパティadd values (aggregate_sum)を使用して作成されます。新しいデータとプライマリ・スライスの間に重複セルがある場合にそれらに問い合せると、値は加算されます。

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

例の完全なワークフローについては、「バッファを使用したデータのロード」を参照してください。