23 Oracle Hyperion Essbase

Oracle Data IntegratorでのOracle Hyperion Essbaseの使用方法について理解することが重要です。

この章の内容は次のとおりです。

概要

Oracle Data Integrator Adapter for Oracle Hyperion Essbaseを使用すると、実質的にあらゆるソースまたはターゲットとEssbaseをOracle Data Integratorで接続して統合できます。このアダプタには、Essbaseアプリケーションでのメタデータとデータのロードと抽出、およびデータの計算を行うための、一連のOracle Data Integratorナレッジ・モジュール(KM)が用意されています。

統合プロセス

Oracle Data Integrator Adapter for Essbaseを使用して、Essbaseアプリケーションで次のデータ統合タスクを実行できます。

  • メタデータおよびデータのロード

  • メタデータおよびデータの抽出

このアダプタを使用して、次のタスクに関係するメタデータやデータのロードまたは抽出を行います。

  • 環境の設定: データ・サーバーおよびスキーマの定義。

    「トポロジの設定」を参照してください。

  • リバース・エンジニアリング・ナレッジ・モジュール(RKM)を使用したEssbaseアプリケーションのリバース・エンジニアリング。

    「Essbaseモデルの作成およびリバース・エンジニアリング」を参照してください。

  • ロード・ナレッジ・モジュール(LKM)を使用したメタデータおよびデータの抽出。

    マッピングの設計を参照してください。

  • 統合ナレッジ・モジュール(IKM)を使用したEssbaseアプリケーションでのメタデータおよびデータの統合。

    マッピングの設計を参照してください。

ナレッジ・モジュール

Oracle Data Integratorには、Hyperion Essbaseデータを処理するためのナレッジ・モジュール(KM)が用意されています。これらのリストを表23-1に示します。これらのKMではHyperion Essbase固有の機能が使用されます。Hyperion Essbaseデータベースで汎用SQL KMを使用することもできます。

表23-1 Hyperion Essbaseナレッジ・モジュール

ナレッジ・モジュール 説明

RKM Hyperion Essbase

Essbaseアプリケーションをリバース・エンジニアリングし、Oracle Data Integratorマッピングでターゲットまたはソースとして使用されるデータ・モデルを作成します。

IKM SQL to Hyperion Essbase (DATA)

Essbaseアプリケーションにデータを統合します。

IKM SQL to Hyperion Essbase (METADATA)

Essbaseアプリケーションにメタデータを統合します。

LKM Hyperion Essbase DATA to SQL

Essbaseアプリケーションから、ステージング領域として使用される任意のSQL準拠データベースへ、データをロードします。

LKM Hyperion Essbase METADATA to SQL

Essbaseアプリケーションから、ステージング領域として使用される任意のSQL準拠データベースへ、メタデータをロードします。

インストールおよび構成

Oracle Data Integrator Adapter for Essbaseの使用を開始する前に、この項の情報を必ず読んでください。

システム要件および動作要件

インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。

サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network (OTN)からアクセスできます。

http://www.oracle.com/technetwork/middleware/data-integrator/documentation/index.html

テクノロジ固有の要件

Oracle Data Integrator Adapter for Essbaseを使用するためのテクノロジ固有の要件はありません。

接続性要件

Oracle Data Integrator Adapter for Essbaseを使用するための接続性固有の要件はありません。

Hyperion Essbase Adapterの設定

次の項では、ODI StudioおよびODIスタンドアロン・エージェント向けのHyperion Essbase Adapterを設定する方法を説明します。

ODI Studio向けのAdapterの設定

設定処理を開始する前に、ODI Studioを終了します。

  1. Oracle Hyperion Essbaseディレクトリで、ess_japi.jarおよびess_es_server.jarを見つけます。

  2. ODIからess_japi.jarおよびess_es_server.jarに直接アクセスできない場合は、ODIがアクセスできる場所にそれらをコピーします。

  3. ess_japi.jarおよびess_es_server.jarを含むように<ODI_HOME>/odi/studio/bin/odi.confファイルを変更します。

    次に例を示します。

    AddJavaLibFile /server/lib/ess_japi.jar

    AddJavaLibFile /server/lib/ess_es_server.jar

ODIスタンドアロン・エージェント向けのAdapterの設定

設定処理を開始する前に、ODIエージェントを終了します。

  1. Oracle Hyperion Essbaseディレクトリで、ess_japi.jarおよびess_es_server.jarを見つけます。

  2. それらを<DOMAIN_HOME>/libディレクトリにコピーします。

詳細は、 『Oracle Data Integratorのインストールと構成』スタンドアロン・コロケート・エージェントのドメインの構成に関する項を参照してください。

トポロジの設定

トポロジの設定には次が含まれます。

  1. Hyperion Essbaseデータ・サーバーの作成

  2. Hyperion Essbase物理スキーマの作成

Hyperion Essbaseデータ・サーバーの作成

『Oracle Data Integratorの管理』データ・サーバーの作成に関する項に記載されている標準の手順で、Hyperion Essbaseテクノロジ用データ・サーバーを作成します。この項では、Hyperion Essbaseデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。

  1. 「定義」タブ:

    • 名前: データ・サーバー定義の名前を入力します。

    • サーバー(データ・サーバー): Essbaseサーバー名を入力します。

    注意:

    Essbaseサーバーがデフォルト・ポート(1423)以外のポートで稼働している場合は、Essbaseサーバーの詳細を<Essbase Server hostname>:<port>という書式で指定してください。

  2. 「接続」の下に、Essbaseサーバーに接続するためのユーザー名およびパスワードを入力します。

注意:

「テスト」ボタンは、Essbaseデータ・サーバー接続では機能しません。このボタンは、JDBCドライバを装備する関係テクノロジのみで機能します。

Hyperion Essbase物理スキーマの作成

『Oracle Data Integratorの管理』物理スキーマの作成に関する項の説明に従って、標準の手順を使用してHyperion Essbase物理スキーマを作成します。

「アプリケーション」(「カタログ」)および「アプリケーション」(「作業カタログ」)の下でEssbaseアプリケーションを指定し、「データベース」(「スキーマ」)および「データベース」(「作業スキーマ」)の下で、選択したアプリケーションに関連付けられているEssbaseデータベースを指定します。

『Oracle Data Integratorの管理』論理スキーマの作成に関する項の説明に従って、標準の手順を使用してこの物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。

Essbaseモデルの作成およびリバース・エンジニアリング

この項では、次の項目について説明します。

Essbaseモデルの作成

『Oracle Data Integratorでの統合プロジェクトの開発』モデルの作成に関する項の説明に従って、標準の手順を使用してEssbaseモデルを作成します。

Essbaseモデルのリバース・エンジニアリング

Essbaseアプリケーションをリバース・エンジニアリングすると、アプリケーション内の各ディメンション用データストアおよびデータ用データストアを含む、Oracle Data Integratorモデルが作成されます。

RKMを使用してHyperion Essbaseでカスタマイズされたリバース・エンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』モデルのリバース・エンジニアリングに関する項の説明に従って、通常の手順を使用します。この項では、Hyperion Essbaseテクノロジ固有のフィールドのみについて説明します。

  1. Essbaseモデルの「リバース」タブでRKM Hyperion Essbaseを選択します。

  2. 表23-2に示されているKMオプションを設定します。

    表23-2 RKM Hyperion Essbaseのオプション

    オプション 使用可能な値 説明

    MULTIPLE_DATA_COLUMNS

    • No(デフォルト)

    • Yes

    このオプションがNoに設定されている場合、データ抽出/ロード・モデル用に作成されるデータストアには、標準ディメンションごとに1つの列、および単一のデータ列が含まれます。このオプションがYesに設定されている場合、データ抽出/ロード・モデル用に作成されるデータストアには、DATA_COLUMN_DIMENSIONオプションで指定されたディメンションを除く標準ディメンションごとに1つの列、およびDATA_COLUMN_MEMBERSオプションに対してカンマ区切りのリストで指定された数のデータ列が含まれます。

    DATA_COLUMN_DIMENSION

    Account

    このオプションは、MULTIPLE_DATA_COLUMNSがYesに設定されている場合のみ適用されます。

    データ列ディメンション名を指定します。たとえば、データ列はディメンションAccountまたはTimeなどに分散しています。

    DATA_COLUMN_MEMBERS

    Account

    このオプションは、MULTIPLE_DATA_COLUMNSがYesに設定されている場合のみ適用されます。

    必要なデータ列メンバーをカンマ(,)で区切ります。

    たとえば、データ列ディメンションがAccountで、メンバーがSales,COGSに設定されている場合、データ抽出/ロード用データストアには、そのデータ列ディメンションを除く各ディメンションに対して1つの列、およびカンマ区切りの値で指定されたデータ列メンバーごとに1つの列が含まれます。次に例を示します。EssbaseアプリケーションにディメンションAccount、Scenario、Product、MarketおよびYearがあり、データ列ディメンションがAccountおよびデータ列メンバーがSales, COGSと指定されている場合、データストアには次の列が含まれます。

    • Scenario(文字列)

    • Product(文字列)

    • Market(文字列)Year(文字列)

    • Sales(数値)

    • COGS(数値)

    EXTRACT_ATTRIBUTE_MEMBERS

    • No(デフォルト)

    • Yes

    このオプションがNoに設定されている場合、データ抽出/ロード・モデル用に作成されるデータストアには、標準ディメンションごとに1つの列、および単一のデータ列が含まれます。属性ディメンションは含まれません。

    このオプションがYesに設定されている場合、データ・モデルには次の列が含まれます。

    • それぞれの標準ディメンションに対して1つの列が作成されます。

    • MULTIPLE_DATA_COLUMNオプションの値に応じて、1つ以上のデータ列が作成されます。

    • 関連付けられているそれぞれの属性ディメンションに対して1つの列が作成されます。

RKMは、(論理スキーマおよびコンテキストによって特定される)アプリケーションに接続し、アプリケーションのディメンションに従ってこれらのデータストアの一部またはすべてをインポートします。

マッピングの設計

Essbaseアプリケーションをモデルとしてリバース・エンジニアリングした後、このモデル内のデータストアを次として使用できます。

  • データおよびメタデータをアプリケーションにロードするためのマッピングのターゲット

  • メタデータおよびデータをアプリケーションから抽出するためのマッピングのソース

マッピング用に選択したKMによって、このマッピングの機能およびパフォーマンスが決まります。この項に示す推奨事項は、Hyperion Essbaseに関連する様々な状況でのKMの選択に役立ちます。

この項では、次の項目について説明します。

メタデータのロード

Oracle Data Integratorには、EssbaseアプリケーションにメタデータをロードするためのIKM SQL to Hyperion Essbase (METADATA)が用意されています。

メタデータはディメンションのメンバーで構成されます。メンバーのデータ値をロードする前に、メンバー(つまりメタデータ)をロードする必要があります。

メンバーのロード先として使用できるのは、Essbaseに存在するディメンションのみです。ロードするディメンションごとに、別個のマッピングを使用する必要があります。マッピングを結合すると、複数のディメンションに一度にメタデータをロードできます。

  1. 注意:

    列の追加または削除によってメタデータ・データストアを変更して、メタデータ・ロードの実行に使用されるディメンション作成ルールと一致させることもできます。たとえば、デフォルト・データストアにParentNameおよびChildNameの列が含まれており、使用するルールが世代別ディメンション作成ルールの場合、メタデータ・データストアを変更して世代別ディメンション作成ルール内の列と一致させることができます。サンプル内のloadMarketsマッピングは、世代別ディメンション作成ルールを使用したメタデータ・ロードの実行例です。

表23-3に、IKM SQL to Hyperion Essbase (METADATA)のオプションをリストします。これらのオプションにより、アダプタによるEssbaseアプリケーションへのメタデータのロード方法が定義されます。

表23-3 IKM SQL to Hyperion Essbase (METADATA)のオプション

オプション 説明

RULES_FILE

空白(デフォルト)

メタデータをロードまたは作成するためのルール・ファイルを指定します。ルール・ファイルがEssbaseサーバー上にある場合はファイル名のみを指定しますが、それ以外の場合はOracle Data Integratorエージェントに対する完全修飾ファイル名を指定します。

RULE_SEPARATOR

,(デフォルト)

(オプション)ルール・ファイルのルール・セパレータを指定します。

有効な値は次のとおりです。

  • カンマ

  • タブ

  • スペース

  • カスタム文字(例: @、#、^)

RESTRUCTURE_DATABASE

  • KEEP_ALL_DATA(デフォルト)

  • KEEP_INPUT_DATA

  • KEEP_LEVEL0_DATA

  • DISCARD_ALL_DATA

Essbaseキューブにメタデータをロードした後、データベースを再構築します。

有効な値は次のとおりです。

  • KEEP_ALL_DATA(すべてのデータを保持)

  • KEEP_INPUT_DATA(入力データのみを保持)

  • KEEP_LEVEL0_DATA(レベル0のデータのみを保持)

  • DISCARD_ALL_DATA(すべてのデータを破棄)

注意: このオプションは、Essbaseリリース9.3以上に適用されます。Essbaseリリース9.3より前のリリースでは、このオプションは無視されます。

PRE_LOAD_MAXL_SCRIPT

空白(デフォルト)

Essbaseキューブにメタデータをロードする前にMAXLスクリプトを実行する場合は、このオプションを有効にします。

MAXLスクリプト・ファイルの完全修飾パス名を(空白を含めずに)指定します。

注意: このオプションを正常に実行するには、Oracle Data Integratorエージェントが稼働するマシンにEssbaseクライアントをインストールして構成する必要があります。

POST_LOAD_MAXL_SCRIPT

空白(デフォルト)

Essbaseキューブにメタデータをロードした後にMAXLスクリプトを実行する場合は、このオプションを有効にします。

MAXLスクリプト・ファイルの完全修飾パス名を(空白を含めずに)指定します。

注意: このオプションを正常に実行するには、Oracle Data Integratorエージェントが稼働するマシンにEssbaseクライアントをインストールして構成する必要があります。

ABORT_ON_PRE_MAXL_ERROR

  • No(デフォルト)

  • Yes

このオプションは、PRE_LOAD_MAXL_SCRIPTオプションを有効にした場合のみ適用されます。

ABORT_ON_PRE_MAXL_ERRORオプションをYesに設定すると、ロード前のMAXLスクリプトの実行中にエラーが発生した場合には、ロード・プロセスが中断されます。

LOG_ENABLED

  • No(デフォルト)

  • Yes

このオプションをYesに設定すると、IKMプロセスの中でLOG_FILE_NAMEオプションで指定したファイルへのロギングが行われます。

LOG_FILE_NAME

<?=java.lang.System.getProperty ("java.io.tmpdir")?>/Extract_<% =snpRef.getFrom()%>.log(デフォルト)

IKMプロセスのイベントを記録するファイル名を指定します。

ERROR_LOG_FILENAME

<?=java.lang.System.getProperty ("java.io.tmpdir")?>/Extract_<% =snpRef.getFrom()%>.log(デフォルト)

IKMプロセスのエラー・レコードを記録するファイル名を指定します。

データのロード

Oracle Data Integratorには、EssbaseアプリケーションにデータをロードするためのIKM SQL to Hyperion Essbase (DATA)が用意されています。

Essbaseで作成済の、選択したディメンション・メンバーにデータをロードできます。データ・ロードを正常に行うには、標準のディメンション・メンバーすべてが必要であり、これらが有効なメンバーである必要があります。Essbaseアプリケーションにデータをロードするには、あらかじめEssbaseアプリケーションを設定しておく必要があります。

カスタム・ターゲットを作成してロード・ルールと一致させることもできます。

データをロードする前に、メンバー(メタデータ)がEssbaseディメンション内に存在することを確認してください。メンバーが欠落しているレコードのデータ・ロードは失敗し、(ロギングが有効な場合は)その情報がエラー・レコードとして記録され、データ・ロード・プロセスは最大エラーしきい値に達するまで続行されます。

注意:

列の追加または削除によってデータ・データストアを変更して、データ・ロードの実行に使用されるデータ・ロード・ルールと一致させることもできます。

表23-4に、IKM SQL to Hyperion Essbase (DATA)のオプションをリストします。これらのオプションにより、アダプタによるEssbaseアプリケーションへのデータのロードおよび統合の方法が定義されます。

表23-4 IKM SQL to Hyperion Essbase (DATA)

オプション 説明

RULES_FILE

空白(デフォルト)

(オプション)データ・ロードのパフォーマンスを強化するルール・ファイルを指定します。

ルール・ファイルがEssbaseサーバー上にない場合は、完全修飾ファイル名を指定します。

ルール・ファイル・オプションが指定されていない場合は、APIベースのデータ・ロードが使用されます。ただし、APIは指定できません。

RULE_SEPARATOR

,(デフォルト)

(オプション)ルール・ファイルのルール・セパレータを指定します。

有効な値は次のとおりです。

  • カンマ

  • タブ

  • スペース

  • カスタム文字(例: @、#、^)

GROUP_ID

整数

複数のデータ・ロードをパラレル実行する場合は、多数のマッピングで同じGROUP_IDが使用されるように設定できます。このGROUP_IDはパラレル・ロードの管理に使用され、これによって、GROUP_IDの最終マッピングの完了時にデータ・ロードをコミットすることができます。パラレルASOキューブへのロードの詳細は、Essbaseデータベース管理者ガイドを参照してください。

BUFFER_ID

1–1000000

1つの集計記憶域データベースに複数のデータ・ロード・バッファを配置できます。時間を節約するために、同時に複数のデータ・ロード・バッファにデータをロードできます。アクティブにできるデータベースのデータ・ロード・コミット操作は常に1つのみですが、複数のデータ・ロード・バッファを同じコミット操作でコミットでき、この処理はバッファを個別にコミットするより高速です。パラレルASOキューブへのロードの詳細は、Essbaseデータベース管理者ガイドを参照してください。

BUFFER_SIZE

0-100

Essbaseでは、増分データ・ロードの実行時に集計記憶域キャッシュを使用してデータをソートします。

データ。データ・ロード・バッファが使用できるキャッシュの割合は、パーセンテージ(0から100%)を指定して制御できます。デフォルトでは、データ・ロード・バッファのリソース使用量が100に設定されているため、データベースに作成されたすべてのデータ・ロード・バッファの合計リソース使用量を100以下にする必要があります。たとえば、使用量が90のバッファがある場合は、10より大きいサイズの別のバッファを作成できません。値が0の場合は、Essbaseによって自己決定されるデフォルトのロード・バッファ・サイズが使用されます。

バッファ・サイズ。

CLEAR_DATABASE

  • None(デフォルト)

  • All

  • Upper Blocks

  • Non-Input Blocks

Essbaseキューブにデータをロードする前にEssbaseキューブからデータを消去する場合は、このオプションを有効にします。

有効な値は次のとおりです。

  • None: データベースの消去は行われません。

  • All: すべてのデータ・ブロックの入力データが消去されます。

  • Upper Blocks: 統合されたすべてのレベル・ブロックが消去されます。

  • Non-Input Blocks: 計算から導出された値を含むブロックが消去されます。

注意: ASOアプリケーションの場合、Upper BlocksおよびNon-Input Blocksオプションは適用されません。

CALCULATION_SCRIPT

空白(デフォルト)

(オプション)Essbaseキューブにデータをロードした後に実行する計算スクリプトを指定します。

計算スクリプトがEssbaseサーバー上にない場合は、完全修飾ファイル名を指定します。

RUN_CALC_SCRIPT_ONLY

  • No(デフォルト)

  • Yes

このオプションは、CALCULATION_SCRIPTオプションで計算スクリプトを指定した場合のみ適用されます。

RUN_CALC_SCRIPT_ONLYオプションをYesに設定した場合は、計算スクリプトのみが実行され、ターゲットEssbaseキューブにデータはロードされません。

PRE_LOAD_MAXL_SCRIPT

空白(デフォルト)

Essbaseキューブにデータをロードする前にMAXLスクリプトを実行する場合は、このオプションを有効にします。

MAXLスクリプト・ファイルの完全修飾パス名を(空白を含めずに)指定します。

注意: Oracle Data Integratorエージェントを実行するマシンにEssbaseクライアントをインストールして構成する必要があります。

POST_LOAD_MAXL_SCRIPT

空白(デフォルト)

Essbaseキューブにデータをロードした後にMAXLスクリプトを実行する場合は、このオプションを有効にします。

MAXLスクリプト・ファイルの完全修飾パス名を(空白を含めずに)指定します。

注意: Oracle Data Integratorエージェントを実行するマシンにEssbaseクライアントをインストールして構成する必要があります。

ABORT_ON_PRE_MAXL_ERROR

  • No(デフォルト)

  • Yes

このオプションは、PRE_LOAD_MAXL_SCRIPTオプションを有効にした場合のみ適用されます。

ABORT_ON_PRE_MAXL_ERRORオプションをYesに設定すると、ロード前のMAXLスクリプトの実行中にエラーが発生した場合には、ロード・プロセスが中断されます。

MAXIMUM_ERRORS_ALLOWED

1(デフォルト)

設定したエラーの最大数に基づいてデータ・ロードを停止するには、このオプションを有効にします。

このオプションで指定する値は、データ・ロード・プロセス中に許容されるエラー・レコード数のしきい値です。このしきい値に達すると、データ・ロード・プロセスは中断します。たとえば、デフォルト値1は、1つのエラー・レコードが検出された時点でデータ・ロード・プロセスが停止することを意味します。値として5を指定した場合は、5つ目のエラー・レコードが検出された時点でデータ・ロード・プロセスが停止します。値として0(無限大)を指定した場合は、エラー・レコードが検出されてもデータ・ロード・プロセスは続行します。

COMMIT_INTERVAL

1000(デフォルト)

コミット間隔は、完全なバッチでEssbaseキューブにロードされるレコードのチャンク・サイズです。

Essbaseキューブ内のレコードのコミット間隔を設定するには、このオプションを有効にします。

コミット間隔を変更すると、Essbaseデータベースの設計に基づくデータ・ロードのパフォーマンスを向上させることができます。

LOG_ENABLED

  • No(デフォルト)

  • Yes

このオプションをYesに設定すると、IKMプロセスの実行中に、LOG_FILENAMEオプションで指定したファイルへのロギングが行われます。

LOG_FILENAME

<?=java.lang.System.getProperty("java.io.tmpdir")?/<%=snpRef.getTargetTable("RES_NAME")%>.log (デフォルト)

IKMプロセスのイベントを記録するファイル名を指定します。

LOG_ERRORS

  • No(デフォルト)

  • Yes

このオプションをYesに設定すると、IKMプロセスの実行中に、ERROR_LOG_FILENAMEオプションで指定したファイルにエラー・レコードの詳細が記録されます。

ERROR_LOG_FILENAME

<?=java.lang.System.getProperty(java.io.tmpdir")?>/<%=snpRef.getTargetTable("RES_NAME")%>.err

IKMプロセスのエラー・レコード詳細を記録するファイル名を指定します。

ERR_LOG_HEADER_ROW

  • No(デフォルト)

  • Yes

このオプションをYesに設定すると、列名を含むヘッダー行がエラー・レコード・ファイルに記録されます。

ERR_COL_DELIMITER

,(デフォルト)

エラー・レコード・ファイルに使用する列デリミタを指定します。

ERR_ROW_DELIMITER

\r\n(デフォルト)

エラー・レコード・ファイルに使用する行デリミタを指定します。

ERR_TEXT_DELIMITER

'(デフォルト)

エラー・レコード・ファイル内の列データに使用するテキスト・デリミタを指定します。

たとえば、テキスト・デリミタを二重引用符(")に設定した場合は、エラー・レコード・ファイル内のすべての列が二重引用符で区切られます。

データの抽出

この項には次のトピックが含まれます:

Essbaseのデータ抽出方法

Oracle Data Integrator Adapter for Essbaseでは、データ抽出のための問合せおよびスクリプトがサポートされます。一般的な手順でデータを抽出するには、抽出問合せを作成してアダプタに提供します。アダプタによって抽出問合せの出力が解析されてステージング領域に移入される前に、列の検証が実行されます。検証時のメタデータ出力問合せの結果に基づいて、アダプタによって抽出問合せが実行されます。アダプタによって実際に出力問合せが解析されるのは、列の検証結果が正常な場合のみです。

抽出の完了後、結果を検証します。抽出問合せによってすべての出力列のデータが抽出されたことを確認してください。

Essbaseでサポートされている次の問合せおよびスクリプトを使用して、データを抽出できます。

レポート・スクリプトを使用したデータ抽出

レポート・スクリプトによって生成されたレポートを解析することで、データを抽出できます。レポート・スクリプトは、(Oracle Data Integratorが実行される)クライアント・コンピュータおよび(Essbaseが実行される)サーバー上に配置できます。レポート・スクリプトを使用してデータを抽出した場合、列の検証は実行されません。そのため、レポート・スクリプトの出力列は、ソース・モデル内の対応する関連列に直接マップされます。ただし、レポート・スクリプトを使用してデータ抽出を開始する前に、次のタスクを完了しておく必要があります。

  • レポート・スクリプトのすべての書式設定を抑制します。レポート・スクリプトの最初の行として、{ROWREPEAT SUPHEADING SUPFORMAT SUPBRACKETS SUPFEED SUPCOMMAS NOINDENTGEN TABDELIMIT DECIMAL 15}という行を挿入します。

  • レポート・スクリプトによって生成される列の数は、ソース・モデルの関連する列数以上であることが必要です。

  • LKMオプションで列デリミタ値を設定する必要があります。

MDX問合せを使用したデータ抽出

MDX問合せは、XMLベースのデータ抽出メカニズムです。MDX問合せを指定して、Essbaseアプリケーションからデータを抽出できます。ただし、MDX問合せを使用してデータ抽出を開始する前に、次のタスクを完了しておく必要があります。

  • ディメンション列の名前をEssbaseキューブのディメンションと一致させる必要があります。

  • タイプ1のデータ抽出の場合、データ列のすべての名前が単一の標準ディメンションの有効なメンバーであることが必要です。

  • タイプ1のデータ抽出の場合、データ・ディメンションを下位レベルの軸、つまり列の軸(0)に配置することをお薦めします。最下位レベルの軸に指定されていない場合、メモリー使用率が高くなります。

  • 列がソース・モデルの対応する属性ディメンションに関連付けられている場合は、MDX問合せでも同じ属性ディメンションを選択する必要があります。

  • MDX問合せのスクリプトは、クライアント・コンピュータまたはサーバー上に配置できます。

計算スクリプトを使用したデータ抽出

計算スクリプトでは、Essbaseアプリケーションからより速くデータを抽出するためのオプションが提供されます。ただし、計算スクリプトを使用してデータを抽出するには、次の制限に注意する必要があります。

  • 計算スクリプトを使用したデータ抽出は、BSOアプリケーションのみでサポートされます。

  • 計算スクリプトを使用したデータ抽出は、Essbaseリリース9.3以上のみでサポートされます。

  • DataExportDimHeaderオプションをONに設定します。

  • DataExportColHeaderを使用する場合は、このオプションの設定をデータ列ディメンションと一致させます(複数のデータ列を抽出する場合)。

  • データの抽出に使用するOracle Data Integratorエージェントを、Essbaseサーバーと同じマシン上で実行する必要があります。

  • クライアント・コンピュータ上の計算スクリプトにアクセスする場合は、ファイルの完全修飾パス(C:\Essbase_Samples\Calc_Scripts \calcall.cscなど)を指定する必要があります。一方、サーバー上の計算スクリプトにアクセスする場合は、ファイル名のみで構いません。

Essbaseデータの抽出

Oracle Data Integratorには、Essbaseアプリケーションからデータを抽出するためのLKM Hyperion Essbase DATA to SQLが用意されています。

Essbase内の選択されたディメンション・メンバーのデータを抽出できます。Essbaseアプリケーションからデータを抽出するには、あらかじめEssbaseアプリケーションを設定しておく必要があります。

表23-5に、LKM Hyperion Essbase Data to SQLのオプションをリストします。これらのオプションにより、Oracle Data Integrator Adapter for Essbaseによるデータの抽出方法が定義されます。

表23-5 LKM Hyperion Essbase DATA to SQLのオプション

オプション 説明

PRE_CALCULATION_SCRIPT

空白(デフォルト)

(オプション)Essbaseキューブからデータを抽出する前に実行する計算スクリプトを指定します。

EXTRACTION_QUERY_TYPE

  • ReportScript(デフォルト)

  • MDXQuery

  • CalcScript

抽出問合せのタイプ(レポート・スクリプト、MDX問合せまたは計算スクリプト)を指定します。

出力列に入力されるすべてのデータをフェッチする、有効な抽出問合せを指定してください。

最初のレコード(計算スクリプトの場合は最初の2つのレコード)には、抽出されるデータのメタ情報が含まれます。

EXTRACTION_QUERY_FILE

空白(デフォルト)

抽出問合せの完全修飾ファイル名を指定します。

EXT_COL_DELIMITER

\t(デフォルト)

抽出問合せの列デリミタを指定します。

このオプションに値を指定しなかった場合は、列デリミタとしてスペース(" ")が使用されます。

EXTRACT_DATA_FILE_IN_CALC_SCRIPT

空白(デフォルト)

このオプションは、EXTRACTION_QUERY_TYPEオプションで問合せタイプとしてCalcScriptを指定した場合のみ適用されます。

計算スクリプトによってデータが抽出される、完全修飾されたファイルの場所を指定します。

PRE_EXTRACT_MAXL

空白(デフォルト)

Essbaseキューブからデータを抽出する前にMAXLスクリプトを実行する場合は、このオプションを有効にします。

POST_EXTRACT_MAXL

空白(デフォルト)

Essbaseキューブからデータを抽出した後にMAXLスクリプトを実行する場合は、このオプションを有効にします。

ABORT_ON_PRE_MAXL_ERROR

  • No(デフォルト)

  • Yes

このオプションは、PRE_EXTRACT_MAXLオプションを有効にした場合のみ適用されます。

ABORT_ON_PRE_MAXL_ERRORオプションをYesに設定すると、抽出前のMAXLスクリプトの実行中にエラーが発生した場合には、ロード・プロセスが中断されます。

LOG_ENABLED

  • No(デフォルト)

  • Yes

このオプションをYesに設定すると、LKMプロセスの実行中に、LOG_FILE_NAMEオプションで指定したファイルへのロギングが行われます。

LOG_FILENAME

<?=java.lang.System.getProperty ("java.io.tmpdir")?/<% =snpRef.getTargetTable("RES_NAME")%>.log (デフォルト)

LKMプロセスのイベントを記録するファイル名を指定します。

MAXIMUM_ERRORS_ALLOWED

1(デフォルト)

設定したエラーの最大数に基づいて抽出を停止するには、このオプションを有効にします。

LOG_ERRORS

  • No(デフォルト)

  • Yes

このオプションをYesに設定すると、LKMプロセスの実行中に、ERROR_LOG_FILENAMEオプションで指定したファイルにエラー・レコードの詳細が記録されます。

ERROR_LOG_FILENAME

<?=java.lang.System.getProperty(java.io.tmpdir")?>/<%=snpRef.getTargetTable("RES_NAME")%>.err

LKMプロセスのエラー・レコード詳細を記録するファイル名を指定します。

ERR_LOG_HEADER_ROW

  • No(デフォルト)

  • Yes

このオプションをYesに設定すると、列名を含むヘッダー行がエラー・レコード・ファイルに記録されます。

ERR_COL_DELIMITER

,(デフォルト)

エラー・レコード・ファイルに使用する列デリミタを指定します。

ERR_ROW_DELIMITER

\r\n(デフォルト)

エラー・レコード・ファイルに使用する行デリミタを指定します。

ERR_TEXT_DELIMITER

'(デフォルト)

エラー・レコード・ファイル内の列データに使用するテキスト・デリミタを指定します。

たとえば、テキスト・デリミタを二重引用符(")に設定した場合は、エラー・レコード・ファイル内のすべての列が二重引用符で区切られます。

DELETE_TEMPORARY_OBJECTS

  • No(デフォルト)

  • Yes

一時オブジェクト(表、ファイルおよびスクリプト)を統合後に保持するには、このオプションをNOに設定します。

このオプションはデバッグに有効です。

メタデータからのメンバーの抽出

Oracle Data Integratorには、Essbaseアプリケーション内のディメンションからメンバーを抽出するためのLKM Hyperion Essbase METADATA to SQLが用意されています。

Essbaseアプリケーションで選択されたディメンションからメンバーを抽出するには、あらかじめEssbaseアプリケーションを設定してメタデータをロードしておく必要があります。ディメンションからメンバーを抽出する前に、そのディメンションがEssbaseデータベース内に存在することを確認してください。最上位メンバーがディメンションに含まれていない場合、レコードは一切抽出されません。

表23-6に、LKM Hyperion Essbase METADATA to SQLのオプションをリストします。これらのオプションにより、Oracle Data Integrator Adapter for Oracle Hyperion Essbaseによるディメンション・メンバーの抽出方法が定義されます。

表23-6 LKM Hyperion Essbase METADATA to SQL

オプション 説明

MEMBER_FILTER_CRITERIA

IDescendants(デフォルト)

抽出するメンバーをディメンション階層から選択するには、このオプションを有効にします。次の選択基準を指定できます。

  • IDescendants

  • Descendants

  • IChildren

  • Children

  • Member_Only

  • Level0

  • UDA

MEMBER_FILTER_VALUE

空白(デフォルト)

指定されたフィルタ基準を適用するメンバーの名前を指定するには、このオプションを有効にします。メンバーを指定しない場合、フィルタ基準はルート・ディメンション・メンバーに適用されます。MEMBER_FILTER_CRITERIA値がMEMBER_ONLYまたはUDAである場合、MEMBER_FILTER_VALUEオプションは必須であり、空の文字列にできません。

LOG_ENABLED

  • No(デフォルト)

  • Yes

このオプションをYesに設定すると、LKMプロセスの実行中に、LOG_FILE_NAMEオプションで指定したファイルへのロギングが行われます。

LOG_FILE_NAME

<?=java.lang.System.getProperty(java.io.tmpdir")?>/Extract_<%=snpRef.getFrom()%>.log

LKMプロセスのイベントを記録するファイル名を指定します。

MAXIMUM_ERRORS_ALLOWED

1(デフォルト)

設定したエラーの最大数に基づいて抽出を停止するには、このオプションを有効にします。

LOG_ERRORS

  • No(デフォルト)

  • Yes

このオプションをYesに設定すると、LKMプロセスの実行中に、ERROR_LOG_FILENAMEオプションで指定したファイルにエラー・レコードの詳細が記録されます。

ERROR_LOG_FILENAME

<?=java.lang.System.getProperty(java.io.tmpdir")?>/Extract_<%=snpRef.getFrom()%>.err

LKMプロセスのエラー・レコード詳細を記録するファイル名を指定します。

ERR_LOG_HEADER_ROW

  • No(デフォルト)

  • Yes

このオプションをYesに設定すると、列名を含むヘッダー行がエラー・レコード・ファイルに記録されます。

ERR_COL_DELIMITER

,(デフォルト)

エラー・レコード・ファイルに使用する列デリミタを指定します。

ERR_ROW_DELIMITER

\r\n(デフォルト)

エラー・レコード・ファイルに使用する行デリミタを指定します。

ERR_TEXT_DELIMITER

  • 空白(デフォルト)

  • \"

  • \"

エラー・レコード・ファイル内のデータ列に使用するテキスト・デリミタを指定します。たとえば、テキスト・デリミタを二重引用符(")に設定した場合は、エラー・レコード・ファイル内のすべての列が二重引用符で区切られます。

DELETE_TEMPORARY_OBJECTS

  • No(デフォルト)

  • Yes

一時オブジェクト(表、ファイルおよびスクリプト)を統合後に保持するには、このオプションをNOに設定します。

このオプションはデバッグに有効です。