DATAEXPORT

DATAEXPORT計算コマンドは、Essbaseキューブからテキストまたはバイナリ・ファイルにデータを書き込むか、リレーショナル・データベースにデータを挿入します。

構文

テキスト出力ファイルの場合、次のようになります。

DATAEXPORT "File" "delimiter" "fileName" "missingChar"

バイナリ出力ファイルの場合(バイナリ・ファイルへのDATAEXPORTはEssbaseリリース全体でサポートされておらず、64ビット・オペレーティング・システム間でのみサポートされています)、次のようになります。

DATAEXPORT "Binfile" "fileName"

リレーショナル・データベースへの直接エクスポートの場合:

DATAEXPORT "DSN" "dsnName" "tableName" "userName" "password"

パラメータ

"File" | "Binfile" | "DSN"

出力ファイルのタイプに必須のキーワード。適切なキーワードを指定してから、関連する構文を使用します。

"delimiter"

"File"エクスポートに必要

フィールドを区切る文字。たとえば","

"Binfile"または"DSN"エクスポートと一緒に使用しないでください

"fileName"

"File"エクスポートと"Binfile"エクスポートに必要

エクスポート・ファイルのファイル名

"DSN"エクスポートと一緒に使用しないでください

"missingChar"

出力タイプ"File"のオプション

  • 欠落しているデータ値を表すテキスト文字列。最大長: 128文字。

  • "NULL"はフィールドをスキップし、連続した区切り文字(,,など)になります。

  • デフォルト値: #MI

"Binfile"または"DSN"エクスポートと一緒に使用しないでください。

"dsnName"

"DSN"エクスポートに必要であり、他のエクスポートには適用されません。

SQLデータベースとの通信に使用されるDSN名。置換変数を使用できます

"tableName"

"DSN"エクスポートに必要であり、他のエクスポートには適用されません。

エクスポートされたデータを挿入する表の名前。表が存在する必要があり、表および列名にスペースを含めることはできません。

"userName"

"DSN"エクスポートに必要であり、他のエクスポートには適用されません。

リレーショナル・データベースに接続できるユーザーの名前。置換変数を使用できます。

"password"

"DSN"エクスポートに必要であり、他のエクスポートには適用されません。

リレーショナル・データベースに接続できるユーザーのパスワード。置換変数を使用できます。

ノート

  • 一般に、計算スクリプト内でSETコマンドを指定して様々なオプションを指定してから、FIX…ENDFIXを使用してエクスポートするデータを絞り込みます。FIX…ENDFIXコマンドセット内のDATAEXPORTコマンドが含まれます。FIX…ENDFIXがないと、キューブ全体がエクスポートされます。

  • キューブからエクスポートされたデータは、管理者がFILEGOVPATHを使用して別のエクスポート場所を指定していないかぎり、<アプリケーション・ディレクトリ>/app/appname/dbnameディレクトリに書き込まれます。<アプリケーション・ディレクトリ>が環境内のどこにあるか不明な場合は、Essbaseプラットフォーム内の環境の場所を参照してください。

    エクスポート・ファイルはクライアントには書き込めません。

    指定したエクスポート・ファイルがすでに存在する場合は、エクスポートに失敗します。これは、既存のエクスポート・ファイルが上書きされないようにするための予防措置です。

  • DATAEXPORT "DSN"を使用して、リレーショナル・データベースへの直接挿入のためにデータをエクスポートする場合、次のようになります:

    • データの書込み先の表は、データ・エクスポートの前に存在している必要があります
    • 表および列名にスペースを含めることはできません
  • DSNの構成の詳細は、ODBC接続を使用したデータへのアクセスを参照してください。構成済データ・ソースを変更した後、Essbaseを再起動する必要があります。

  • このコマンドを並列計算で使用するには、SET CALCPARALLELのかわりにFIXPARALLEL...ENDFIXPARALLELを使用します。

  • DATAIMPORTBINコマンドを使用して、以前にエクスポートされたバイナリ・エクスポート・ファイルをインポートします。

  • 計算エクスポートは、一度に1つのブロックをロックします。他のすべてのブロックは更新できます。

説明

DATAEXPORT計算コマンドは、データをテキストまたはバイナリ出力ファイルに書き込むか、既存のリレーショナル・データベースにデータ・エクスポートを挿入します。

MaxLExport Data文ではキューブ全体からレベル0、入力データ、またはすべてをテキスト・データとしてエクスポートできますが、DATAEXPORT計算コマンドでも次のことができます:

  • FIX…ENDFIXまたはEXCLUDE...ENDEXCLUDE計算を使用してキューブのスライスを選択し、DATAEXPORTCONDコマンドを使用してデータ値に基づいてデータを選択します。

  • パラメータを使用して、エクスポート・データのタイプとエクスポート先ファイル名を修飾します。

  • SET DATAEXPORTOPTIONSコマンドで提供されるオプションを使用して、エクスポート・コンテンツ、形式、またはプロセスを調整します。

  • SET DATAIMPORTIGNORETIMESTAMPコマンドを使用して、一致するアウトライン・タイムスタンプのインポート要件を管理します。

例1: テキスト出力ファイル-レベル0スライス

SET DATAEXPORTOPTIONS
  {
  DataExportLevel "LEVEL0";
  };
DATAEXPORTCOND ("Sales">=1000);
FIX ("100-10","New York","Actual","Sales");
DATAEXPORT "File" "," "jan.txt" "#MI";
ENDFIX;

レベル0データ・エクスポート・レベルを指定し、出力をSalesが1000以上のデータのみに限定し、データ・スライスを修正してから、キューブ・ディレクトリにあるテキスト・ファイルにエクスポートします。その際には、セパレータとしてカンマ(,)を使用し、欠落しているデータ値には#MIを指定します。

例2: テキスト出力ファイル-フェデレーテッド・パーティション用のCSV形式

次の例では、DBMS_CLOUDパッケージに必要な形式でデータをエクスポートします(フェデレーテッド・パーティションを使用してキューブをAutonomous Data Warehouseと統合する場合に適用可能)。

例2a

ファクト表のピボット・ディメンションをDataExportColHeaderとして指定すると、DBMS_CLOUDに必要な形式でデータファイルを生成できます。この計算スクリプトの例では、ピボット・ディメンションはMeasuresです。

SET DATAEXPORTOPTIONS
  {
  DataExportColHeader "Measures";
  DataExportOverwriteFile ON;
  DATAEXPORTDIMHEADER ON;
  DATAEXPORTCSVFORMAT ON;
  };
  DATAEXPORT "File" "," "out.txt" "NULL";

前述の例では、次の出力例で示す、DBMS_CLOUDに必要な形式になっているデータファイルが生成されます。ファクト表の列名はヘッダーにあり、各データ・レコードのフィールドはカンマで区切られています。

"Year","Product","Market","Scenario","Sales","COGS","Margin","Marketing","Payroll","Misc","Total Expenses","Profit","Opening Inventory","Additions","Ending Inventory"
"Jan","100-10","New York","Actual",678,271,407,94,51,0,145,262,2101,644,2067
"Feb","100-10","New York","Actual",645,258,387,90,51,1,142,245,2067,619,2041
"Mar","100-10","New York","Actual",675,270,405,94,51,1,146,259,2041,742,2108

例2b

この計算スクリプトの例では、ピボット・ディメンションはYearです。

SET DATAEXPORTOPTIONS
  {
  DataExportColHeader "Year";
  DataExportOverwriteFile ON;
  DATAEXPORTDIMHEADER ON;
  DATAEXPORTCSVFORMAT ON;
  };
  DATAEXPORT "File" "," "out.txt" "NULL";

前述の例では、次の出力例で示す、DBMS_CLOUDに必要な形式になっているデータファイルが生成されます。ファクト表の列名はヘッダーにあり、各データ・レコードのフィールドはカンマで区切られています。

"Product","Market","Scenario","Measures","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"
"100-10","Utah","Actual","Additions",1762.0,1681.0,1482.0,1201.0,1193.0,1779.0,2055.0,1438.0,1991.0,1443.0,1379.0,1415.0
"100-10","Utah","Actual","COGS",598.0,714.0,630.0,510.0,510.0,756.0,697.0,533.0,624.0,535.0,536.0,600.0
"100-10","Utah","Actual","Ending Inventory",5417.0,8379.0,10294.0,4125.0,3823.0,7861.0,7283.0,4636.0,6383.0,9805.0,9247.0,8757.0
"100-10","Utah","Actual","Margin",383.0,449.0,363.0,389.0,431.0,445.0,458.0,394.0,401.0,350.0,353.0,437.0
"100-10","Utah","Actual","Marketing",201.0,240.0,210.0,171.0,171.0,254.0,235.0,178.0,209.0,180.0,180.0,202.0
"100-10","Utah","Actual","Misc",2.0,1.0,3.0,1.0,1.0,0.0,0.0,3.0,2.0,2.0,1.0,0.0
"100-10","Utah","Actual","Opening Inventory",4636.0,7861.0,9805.0,3823.0,3571.0,7283.0,6383.0,4125.0,5417.0,9247.0,8757.0,8379.0
"100-10","Utah","Actual","Payroll",121.0,116.0,116.0,116.0,116.0,116.0,121.0,116.0,121.0,116.0,116.0,116.0
"100-10","Utah","Actual","Profit",59.0,92.0,34.0,101.0,143.0,75.0,102.0,97.0,69.0,52.0,56.0,119.0

例3: バイナリ・エクスポート

SET DATAEXPORTOPTIONS 
  { 
  DataExportLevel "ALL";
  };
FIX ("New York");
DATAEXPORT "BinFile" "Essexport.bin";
ENDFIX;

すべてのNew Yorkブロックをエクスポートします。バイナリ・エクスポートは、スパース・ディメンションでのみ修正できます。Essbaseは、Essbaseカーネルで使用されるのと同じビットマップ圧縮技術を使用してファイルを作成します。

例4: バイナリ・インポート

SET DATAIMPORTIGNORETIMESTAMP OFF;
DATAIMPORTBIN "Essexport.bin"

以前にエクスポートされたファイルをインポートします。タイムスタンプが一致する必要があります。データは、その計算スクリプトの実行元のキューブにインポートされます。データのみがエクスポートされているため、DATAIMPORTを使用してデータを読み込んだ後にキューブを再作成するには、データを再計算する必要があります。

例5: リレーショナル・データベースへの直接入力

SET DATAEXPORTOPTIONS
{
DataExportLevel "ALL";
};
FIX("100-10","New York","Actual","Sales");
DATAEXPORT "DSN" "cur_sale" "Newyork_Sales" "admin" "password";
ENDFIX;

選択したレコードをNewyork_Salesという名前の表に直接挿入します。