データ・サブセットのコピーとデータのエクスポート

この項の内容:

データベース・サブセットの作成プロセス

データのエクスポート

データベース・サブセットの作成プロセス

移動するデータの出力ファイルを抽出することで、Essbaseデータベース間または他のプログラムにデータを移動できます。他のほとんどのプログラムのインポート・フォーマット指定を満たすには、レポート・スクリプトまたは計算スクリプトを使用してテキスト・ファイルを作成します。

ここでは、あるEssbaseサーバー(Essbaseサーバー1)から別のEssbaseサーバー(Essbaseサーバー2)にデータベース・サブセットをコピーするプロセスについて説明します。

  1. Essbaseサーバー2で、データベース・サブセットを入れるアプリケーションとデータベースを作成します。

    アプリケーションおよびデータベースの作成を参照してください。

  2. アウトライン・ファイル(たとえば、source_dbname.otl)を、Essbaseサーバー1にあるソース・データベースからEssbaseサーバー2にある新しいデータベースにコピーします。

    Essbaseサーバー2のデータベースの名前と一致するように、アウトライン・ファイルの名前を変更(たとえば、target_dbname.otl)して、ターゲット・データベースの既存のアウトライン・ファイルを上書きする必要がある場合もあります。

    ソース・データベースからのアウトライン・ファイルのコピーを参照してください。

  3. 必要なデータ・サブセットが含まれる出力ファイル(たとえば、プレーン・テキスト・ファイル)を作成します。

    必要なデータ・サブセットが含まれる出力ファイルの作成を参照してください。

  4. 出力ファイルを、先に作成した新しいデータベースにロードします。

    新しいデータベースへの出力ファイルのロードを参照してください。

必要に応じて、手順3および4を繰り返して、Essbaseサーバー2のデータベースから出力ファイルを作成し、別のコンピュータにあるメインEssbaseデータベースにデータをロードします。

次の項の例は、Sample.Basicデータベースに基づいています。例のデータ・サブセットは、West市場のActual, Measuresデータです。この例では、データ・サブセットをEssbaseサーバー2およびWest Westmktsデータベースにコピーします。

アプリケーションおよびデータベースの作成

アプリケーションとデータベースをEssbaseサーバー2に作成します。必要なデータ・サブセットをこの新しいデータベースにコピーします。このアプリケーションとデータベースには任意の名前を付けることができます。

  アプリケーションとデータベースを作成する方法は、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「アプリケーションの作成」と「データベースの作成」を参照してください。

新しい空のデータベースが起動していないことを確認します。

  データベースを停止する方法は、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「データベースの停止」を参照してください。

ソース・データベースからのアウトライン・ファイルのコピー

ソース・データベースのアウトライン・ファイル(.otl)を、新しく作成したデータベースにコピーします。この例では、Sample.Basicデータベースのbasic.otlアウトライン・ファイルをコピーして、Essbaseサーバー2でそのファイル名をwesmkts.otlに変更します。

アウトライン・ファイルのコピー方法は、Essbaseサーバー2からソースEssbaseデータベースに接続できるかどうかによって異なります。

  • 接続可能な場合は、次のいずれかの方法を使用してアウトラインをコピーします:

    ツール

    トピック

    場所

    Administration Services

    アウトラインのコピー

    Oracle Essbase Administration Services Online Help

    MaxL

    create database

    『Oracle Essbaseテクニカル・リファレンス』

    ESSCMD

    COPYDB

    『Oracle Essbaseテクニカル・リファレンス』

  • 接続できない場合は、オペレーティング・システムを使用して、アウトライン・ファイルをコピーします。

    1. オペレーティング・システムを使用してソース・アウトライン・ファイルをコピーします。たとえば、basic.otlwestmkts.otlにコピーします。

    2. コピーしたアウトラインに、新規データベースと完全に同一の名前を付けます。

    3. Essbaseサーバー2コンピュータ上のARBORPATH/app/appname/dbnameディレクトリにアウトライン・ファイルを保存します。ARBORPATHは、Essbaseをインストールしたディレクトリで、appnamedbnameは、新しく作成したアプリケーションとデータベースです。

      たとえば、basic.otlをディスクにコピーし、その名前をwestmkts.otlに変更します。次に、ディスクのwestmkts.otlをEssbaseサーバー2の次のディレクトリにコピーします:

                        Oracle/Middleware/EPMSystem11R1/products/Essbase/EssbaseServer/app/west/westmkts/westmkts.otl
                     

      これで、既存の空のwestmkts.otlファイルを上書きしても安全です。

      注:

      既存の空のアウトライン・ファイル(Essbaseで新しいアプリケーションとデータベースを作成したときに自動的に作成されたもの)を、新しいアウトライン・ファイルで上書きしていることを確認します。

    4. 新しいデータベースを停止して再起動します。

      Oracle Essbase Administration Services Online Helpの「データベースの開始」と「データベースの停止」を参照してください。

これで、Essbaseサーバー2にデータベース・アウトラインのコピーが作成されました。

必要なデータ・サブセットが含まれる出力ファイルの作成

必要なデータ・サブセットが含まれる出力ファイルを作成します。出力ファイルは、テキスト・ファイルかスプレッドシート・ファイルのいずれかです。次のいずれかの方法を使用して、データ・サブセットを作成します。

  データベースのサブセットの出力ファイルを作成するには、次のツールを使用します:

次の例では、レポート・ライターを使用して、Westmktsデータベースのサブセットを作成します。レポート・スクリプトを使用して、データ・サブセットをエクスポートすることもできます。

  必要なデータ・サブセットが含まれるテキスト・ファイルを作成するには:

  1. ソース・データベースを選択します。たとえば、West Westmktsを選択します。

    Oracle Essbase Administration Services Online Helpの「オブジェクトのナビゲートと選択」を参照してください。

    • Essbaseサーバー2コンピュータからEssbaseサーバー1データベースに接続できる場合は、Essbaseサーバー2からソース・データベースを選択できます。

    • 接続できない場合は、Essbaseサーバー2コンピュータ以外のコンピュータを使用して、ソース・データベースを選択します。

  2. レポートを作成します。

    Oracle Essbase Administration Services Online Helpの「スクリプトの作成」を参照してください。

  3. 必要なデータ・サブセットを選択するレポート・スクリプトを作成します。レポート・スクリプトの作成方法は、レポート・スクリプトの基本の理解。を参照してください。

    たとえば、次のレポート・スクリプトでは、Sample.BasicのWest市場のActual, Measuresデータを選択します:

                {TABDELIMT}
    QUOTEMBRNAMES
    Actual
    <IDESC West
    <IDESC Measures
             
    • データ間にタブ・ストップを配置するには、スペースではなくTABDELIMITを使用し、メンバー名またはデータ値が切り捨てられないようにしてください。

    • QUOTEMBRNAMES使用して、空白スペースが含まれるメンバー名を引用符(" ")で囲みます。これによって、Essbaseでデータのロード時にメンバー名が認識されます。

  4. レポート・スクリプトを実行します。

    Oracle Essbase Administration Services Online Helpの「レポート・スクリプトの実行」を参照してください。

  5. レポート・スクリプトを、westout.txtなどの.txt拡張子を付けて保存します。

    データをロードするには、出力ファイルがEssbaseサーバー2のARBORPATH/app/appname/dbnameディレクトリに存在する必要があります。appnamedbnameは、新しく作成したアプリケーションとデータベースのディレクトリです。

    Essbaseサーバー2コンピュータを使用している場合は、ARBORPATH/app/appname/dbnameディレクトリに出力ファイルを直接保存できます。次に例を示します:

                Oracle/Middleware/EPMSystem11R1/products/Essbase/EssbaseServer/app/west/westmkts/westout.txt
             

    Essbaseサーバー2コンピュータを使用していない場合は、現在のコンピュータの任意の場所に出力ファイルを保存します。デフォルトでは、Essbaseでは、サーバーではなく、Essbaseクライアント・コンピュータにファイルを保存します。レポートを実行するときには、オペレーティング・システムを使用して、ファイルをEssbaseサーバー2のARBORPATH/app/appname/dbnameディレクトリにコピーします。たとえば、ディスクを使用してファイルをコピーします。

    Essbaseサーバー2コンピュータを使用していない場合は、Essbaseクライアントのディレクトリからファイルをダウンロードし、Essbaseサーバー2のARBORPATH/app/appname/dbnameディレクトリにコピーします。たとえば、出力ファイルを次のディレクトリにコピーします:

                Oracle/Middleware/EPMSystem11R1/products/Essbase/EssbaseServer/app/west/westmkts/westout.txt
             

新しいデータベースにテキスト・ファイルをロードする準備が整いました。

新しいデータベースへの出力ファイルのロード

出力ファイルを、Essbaseサーバー2にある新しいデータベースにロードします。

  ファイルをデータベースにロードする方法は、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「データ・ロードまたは次元構築の実行」を参照してください。

次の例は、Westmktsデータベースにデータをロードする手順を示しています:

  1. 新しいデータベースを選択します。たとえば、Westmktsを選択します。

  2. 作成したwestoutなどのテキスト・ファイルを使用して、データ・ロードを開始します。

    注:

    westoutが表示されない場合は、そのファイルに.txt拡張子が付いていて、ARBORPATH/app/West/Westmktsディレクトリに保管されていることを確認します。必要なデータ・サブセットが含まれる出力ファイルの作成を参照してください。

データ・ロードまたは次元構築の実行およびデバッグ。を参照してください。

これで、Essbaseサーバー2コンピュータでデータを表示できるようになりました。場合によっては、データベース・サブセットを再計算する必要があります。データベース・サブセットを表示しているので、データ値のパーセンテージは#MISSINGです。

必要であれば、作成したデータベース・サブセットで使用するレポート・スクリプトやその他のアーティファクト・ファイルをEssbaseサーバー2コンピュータにコピーできます。

データのエクスポート

  Essbaseデータベース間でデータを移動するためにデータベースからデータをエクスポートする場合、またはEssbase以外のプログラムで読取り可能なフォーマットにデータをエクスポートする場合は、次のツールを使用します:

ツール

トピック

場所

Smart View

「クエリー・デザイナの使用」

Oracle Hyperion Smart View for Office User's Guide

MaxL

export data

Oracle Essbase Technical Reference

計算スクリプト

DATAEXPORTコマンドを使用したデータのエクスポート

Oracle Essbase Database Administrator's Guide

レポート・スクリプト

レポート・スクリプトを使用したテキスト・データのエクスポート

Oracle Essbase Database Administrator's Guide

注:

MaxL、計算スクリプトまたは管理サービス・コンソールを使用してテキスト・データをエクスポートするときに、最後のレコードの終了フィールドに値がない場合は、これらのフィールドに#MIなどの欠落した値のマーカーは追加されません。全体の処理時間を向上させるため、最後の出力レコードではフィールドが空白のまま処理されます。

Unicodeモードのアプリケーションでは、データベースからのエクスポート・ファイルはUTF-8エンコード方式になります。Essbaseによって、エクスポート・ファイル用のディスク・スペースが足りないことが検出された場合、データはエクスポートされません。

Essbaseデータを特殊な区切り記号が必要なプログラムにインポートする場合は、レポート・ライターのMASKコマンドまたはDATAEXPORT計算コマンドの区切り記号パラメータを使用して、区切り記号を指定します。

バックアップするためにデータをエクスポートする方法の詳細は、『Oracle Hyperion Enterprise Performance Management Systemバックアップおよびリカバリ・ガイド』を参照してください。

レポート・スクリプトまたは計算スクリプトを使用して、テキスト・フォーマットでEssbaseデータをエクスポートできます。両方のツールでは、ほとんどのプログラムのインポート・フォーマット指定に適合したテキスト・ファイルを作成できます。

MaxLを使用したデータのエクスポート

export data MaxLステートメントを使用して、Essbaseデータベースからデータをエクスポートできます。データは、連続してエクスポートすることも、並列してエクスポートすることも可能です。スレッドのデータが2GBを超える場合、Essbaseによってエクスポート・データが複数のファイルに分割され、ファイル名には数値が追加されます。

  • ブロック・ストレージ・データベース: 計算値を含まないすべてのデータ、レベル0データまたは入力レベル・データをエクスポートできます。

    データを並列エクスポートするには、カンマで区切られたエクスポート・ファイルのリスト(最大1024のファイル名まで)を指定します。ファイル名の数により、エクスポート・スレッドの数が決定されます。使用可能なブロック・アドレス範囲の数により、Essbaseが実際に使用するエクスポート・スレッドの数が制限されます。Essbaseでは、実際のデータ・ブロックの数を、指定されたファイル名(エクスポート・スレッド)の数で除算します。実際のデータ・ブロックが、指定されたエクスポート・スレッドの数より少ない場合、作成されるエクスポート・スレッドの数は、実際のデータ・ブロックの数に基づきます。この方法によって、エクスポート・スレッド間でデータ・ブロックがより均等に配分されます。

    注:

    エクスポート・ファイルの数を指定する際には、Essbaseサーバーが稼働しているコンピュータの使用可能なCPUコアの数およびI/O帯域幅を考慮することが重要です。指定する値が大きすぎると、パフォーマンスが低下する場合があります。

  • 集約ストレージ・データベース: 計算値を含まない、レベル0データのみをエクスポートできます。(レベル0データは、集約ストレージ・データベースでの入力データと同じです。)集約ストレージ・データベースでは、上位レベルのデータのエクスポート、または縦欄式のエクスポートは実行できません。

    データを並列でエクスポートするには、カンマで区切られたエクスポート・ファイルのリスト(1から8までのファイル名)を指定します。Essbaseで使用されるスレッドの数は、通常、指定するファイル名の数によって異なります。ただし、データ・ブロックの少ない、非常に小規模な集約ストレージ・データベースでは、複数ファイルへの並列エクスポートが要求された場合でも、単一のファイルのみが作成される(実際にはシリアル・エクスポートが実行される)可能性があります。

絶対パスが指定されていない場合、エクスポート・ファイルはサーバーのARBORPATH/appディレクトリに保管されます。

計算スクリプトを使用したテキスト・データのエクスポート

次の計算コマンドを使用して、テキスト・インポート・ファイルを選択およびフォーマットできます: DATAEXPORT、DATAEXPORTCOND、SET DATAEXPORTOPTIONS、FIX...ENDFIXおよびEXCLUDE...ENDEXCLUDE。計算スクリプトの作成と実行の一般的な情報は、ブロック・ストレージ・データベース用の計算スクリプトの作成。を参照してください。

計算スクリプトベースのデータ・エクスポートは、保管され、動的に計算されるメンバーに対してのみ使用でき、レポート・スクリプトよりもフォーマット・オプションの数が少ないです。ただし、計算スクリプトベースのデータ・エクスポートでは、レポート・スクリプトよりも速く処理できる小数ベースおよび精度ベースのフォーマット・オプションを使用できます。DATAEXPORT計算コマンドを使用すると、通常途中で必要なインポート手順を実行せずにリレーショナル・データベースに直接エクスポートできます。

次の計算スクリプト例では、データベースのサブセットを含んだテキスト・ファイルが生成されます。

      SET DATAEXPORTOPTIONS
{   DATAEXPORTLEVEL "ALL";
DATAEXPORTCOLFORMAT ON;
DATAEXPORTCOLHEADER Scenario;
}; 
FIX ("100-10","New York","Actual","Qtr1");
   DATAEXPORT "File" "," "C:\exports\actual.txt" "NULL";
ENDFIX;
   

これらのコマンドでは、すべてのレベルのデータを含めるように指定し、列でデータが繰り返されることを示し、シナリオ次元を出力用の密次元の列ヘッダーとして設定しています。FIXコマンドでは、データ・スライスを定義し、データをテキスト・ファイルとしてC:\exports\actual.txtにエクスポートすることを定義しています。区切り記号としてカンマが使用され、欠落したデータ値は連続する区切り記号によって示されます。Sample.Basicに対してこのスクリプトを実行すると、次のデータが生成されます:

      "Actual"
"100-10","New York","Sales","Qtr1",1998
"100-10","New York","COGS","Qtr1",799
"100-10","New York","Margin","Qtr1",1199
"100-10","New York","Marketing","Qtr1",278
"100-10","New York","Payroll","Qtr1",153
"100-10","New York","Misc","Qtr1",2
"100-10","New York","Total Expenses","Qtr1",433
"100-10","New York","Profit","Qtr1",766
"100-10","New York","Opening Inventory","Qtr1",2101
"100-10","New York","Additions","Qtr1",2005
"100-10","New York","Ending Inventory","Qtr1",2108
"100-10","New York","Margin %","Qtr1",60.01001001001001
"100-10","New York","Profit %","Qtr1",38.33833833833834
"100-10","New York","Profit per Ounce","Qtr1",63.83333333333334
   

DATAEXPORT計算コマンドの詳細は、『Oracle Essbaseテクニカル・リファレンス』を参照してください。

レポート・スクリプトを使用したテキスト・データのエクスポート

レポート・ライターでは、柔軟に出力データを選択し、他のプログラムの要件に合わせてそのデータをフォーマットできます。レポート・スクリプトは、すべてのメンバー・タイプ(たとえば、保管済メンバー、動的計算メンバー、属性、ラベルのみメンバー、共有メンバー、別名)に使用できます。ただし、レポート・スクリプトは、クエリーベースのデータ抽出(データベースに生成されていないデータ・ブロックを詳しく調べる方法)を使用するので、一般的に速度が遅くなります。Oracle Essbase Administration Services Online Helpの「レポート・スクリプトの実行」およびレポート・スクリプトの実行を参照してください。レポート・スクリプトベースのエクスポートでは、より柔軟にデータをフォーマットできます。このエクスポート方法は、プロ級のレポートを作成するのに最適です。

2次元(固定フィールド・フォーマット)を使用するプログラムにデータをエクスポートする場合は、ページ次元または列次元を指定する必要がありません。2次元レポートを作成するときには、すべての次元を行次元として指定できます。ROWREPEATコマンドを使用して、指定した各メンバーの名前を各行に追加します(デフォルトのネストしたスタイルは使用しません)。次のスクリプト例とレポートでは、この状態の5次元データベースを示しています:

      <ROW (Year, Measures, Product, Market, Scenario)
{ROWREPEAT}
<ICHILDREN Year
Sales
<ICHILDREN "400"
East
Budget
    !
   

次のレポートが生成されます:

      Qtr1          Sales        400-10       East      Budget      900 
Qtr1          Sales        400-20       East      Budget    1,100 
Qtr1          Sales        400-30       East      Budget      800 
Qtr1          Sales          400        East      Budget    2,800 
Qtr2          Sales        400-10       East      Budget    1,100 
Qtr2          Sales        400-20       East      Budget    1,200 
Qtr2          Sales        400-30       East      Budget      900 
Qtr2          Sales          400        East      Budget    3,200 
Qtr3          Sales        400-10       East      Budget    1,200 
Qtr3          Sales        400-20       East      Budget    1,100 
Qtr3          Sales        400-30       East      Budget      900 
Qtr3          Sales          400        East      Budget    3,200 
Qtr4          Sales        400-10       East      Budget    1,000 
Qtr4          Sales        400-20       East      Budget    1,200 
Qtr4          Sales        400-30       East      Budget      600 
Qtr4          Sales          400        East      Budget    2,800 
  Year        Sales        400-10       East      Budget    4,200 
  Year        Sales        400-20       East      Budget    4,600 
  Year        Sales        400-30       East      Budget    3,200 
  Year        Sales          400        East      Budget   12,000
   

最下位レベル(レベル0)データのみを含む2次元レポートを作成するには、CHILDRENまたはDIMBOTTOMを使用して、レベル0メンバーを選択します。

  • 特定のメンバーのレベル0のデータのみをリストするには、CHILDRENコマンドで、印刷するデータより上のパラメータとしてレベル1メンバーを指定します。

  • 特定のメンバーが属する次元のすべてのレベル0のデータをリストするには、DIMBOTTOMコマンドで、印刷するデータを含んでいる次元の任意のメンバーを指定します。

たとえば次のスクリプトでは、CHILDRENコマンドを使用してQtr1 (レベル1のメンバー)の子を選択し、DIMBOTTOMコマンドを使用して、製品次元のレベル0のデータをすべて選択しています。

      <ROW (Year, Measures, Product, Market, Scenario)
{ROWREPEAT}
{DECIMAL 2}
<CHILDREN Qtr1
Sales
<DIMBOTTOM Product
East
Budget
     !
   

次のレポートが生成されます:

      Jan      Sales    100-10     East       Budget        1,600.00 
Jan      Sales    100-20     East       Budget          400.00 
Jan      Sales    100-30     East       Budget          200.00 
Jan      Sales    200-10     East       Budget          300.00 
Jan      Sales    200-20     East       Budget          200.00 
Jan      Sales    200-30     East       Budget        #MISSING 
Jan      Sales    200-40     East       Budget          700.00 
Jan      Sales    300-10     East       Budget        #MISSING 
Jan      Sales    300-20     East       Budget          400.00 
Jan      Sales    300-30     East       Budget          300.00 
Jan      Sales    400-10     East       Budget          300.00 
Jan      Sales    400-20     East       Budget          400.00 
Jan      Sales    400-30     East       Budget          200.00 
Feb      Sales    100-10     East       Budget        1,400.00 
Feb      Sales    100-20     East       Budget          300.00 
Feb      Sales    100-30     East       Budget          300.00 
Feb      Sales    200-10     East       Budget          400.00 
Feb      Sales    200-20     East       Budget          200.00 
Feb      Sales    200-30     East       Budget        #MISSING 
Feb      Sales    200-40     East       Budget          700.00 
Feb      Sales    300-10     East       Budget        #MISSING 
Feb      Sales    300-20     East       Budget          400.00 
Feb      Sales    300-30     East       Budget          300.00 
Feb      Sales    400-10     East       Budget          300.00 
Feb      Sales    400-20     East       Budget          300.00 
Feb      Sales    400-30     East       Budget          300.00 
Mar      Sales    100-10     East       Budget        1,600.00 
Mar      Sales    100-20     East       Budget          300.00 
Mar      Sales    100-30     East       Budget          400.00 
Mar      Sales    200-10     East       Budget          400.00 
Mar      Sales    200-20     East       Budget          200.00 
Mar      Sales    200-30     East       Budget        #MISSING 
Mar      Sales    200-40     East       Budget          600.00 
Mar      Sales    300-10     East       Budget        #MISSING 
Mar      Sales    300-20     East       Budget          400.00 
Mar      Sales    300-30     East       Budget          300.00 
Mar      Sales    400-10     East       Budget          300.00 
Mar      Sales    400-20     East       Budget          400.00 
Mar      Sales    400-30     East       Budget          300.00 
   

データ・エクスポート用のフォーマットのその他の例は、『Oracle Essbaseテクニカル・リファレンス』の「レポート・ライター・コマンド」の項の「レポート・スクリプトの例のサンプル12」ページを参照してください。