Planningアプリケーションからリレーショナル・データ・ソースへのメタデータのエクスポート

アウトライン・ロード・ユーティリティを使用して、メタデータをリレーショナル・データ・ソースにエクスポートできます。

注意:

アウトライン・ロード・ユーティリティを使用してリレーショナル・データ・ソースにデータをエクスポートすることはできません。

この機能を使用するユーザーは、リレーショナル・データベース、SQL問合せ言語、およびJDBC接続プロパティをよく理解していることをお薦めします。Planningアプリケーションの場合、これらのプロパティの例は、システム・データベースのHSPSYS_DATASOURCE表にあり、これはデフォルトでは、EPM Systemコンフィグレータで「Planning」の「データベースの構成」を選択するときに作成するリレーショナル・データベースにあります。

アウトライン・ロード・ユーティリティを使用してリレーショナル・データ・ソースにエクスポートするときには、次のコマンドライン・パラメータを使用できます:

  • /ER[:RDBConnectionPropertiesFileName]

  • /ERA

  • /REQ:exportQueryOrKey

  • /REC:catalog

  • /RED:driver

  • /RER:url

  • /REU:userName

  • /REP:password

注意:

/ERパラメータと/REQパラメータは、どちらか一方しか選択できません。

これらのパラメータの詳細は、アウトライン・ロード・ユーティリティのコマンドライン・パラメータを参照してください。

エクスポート問合せは、INSERT INTO<tableName>[ (column1, column2, ...)] VALUES (property1, property2,...)という形式になります

注意:

  • <tableName>は、エクスポートした値が挿入される表の名前です

  • (column1, column2, …)は、オプションで指定する列の名前で、値(プロパティ)は表に挿入されます

  • (property1, property2, …)は厳密には値ではなく、メンバー・プロパティ名(列ヘッダー)です

    注意:

    ヘッダー・レコードとは異なり、メンバー名はディメンション名ではなく'Member'で指定されます。

例:

Planningのエンティティ・ディメンションに、「e1's description」という説明を持つ「e1」と、「e11's description」という説明を持つ「e11」との2つのメンバーがあると仮定します。E1はエンティティの下にあり、e11はe1の下にあります。したがって、プランニング・ディメンションは次のようになります:

エンティティ

   e1
      e11

宛先表my_tableに、column1column2column3の3つの列があると仮定します

Insert into my_table values (Member, Parent, Description)を実行すると、my_tableに次の行が追加されます:

E1     e1's description     Entity
E11    e2's description     e1

これは、次と同じです:

Insert into my_table (column1, column2, column3) values (Member, Parent, Description)

注意:

表には、指定したプロパティの数以上の列がある必要があります。

問合せに指定できる特殊な演算子として、<columns><properties>の2つがあります。<columns>は、表のすべての列名に拡張されます。<properties>は、エクスポートされるディメンションのすべてのプロパティに拡張され、これは/Mスイッチで示されます。

Insert into my_table values (<properties>)

これはすべてのエンティティ・プロパティをmy_tableにロードします。

これは、次と同じです:

Insert into my_table (column1, column2, ….. column23) values (<properties>)

my_tableの列の数がプロパティの数と等しい場合、次の問合せは同じ結果になります:

Insert into my_table (<columns>) values (<properties>)

表列の名前を使用してメンバー・プロパティを抽出することもできます。たとえばsample_tableには、MemberParentDescriptionの列があります。次の問合せは、最初の例と同じ結果になります:

Insert into sample_table values (<columns>)
Insert into sample_table (<columns>) values (<columns>)

例: リレーショナル・データ・ソースにメタデータをエクスポートするプロパティ・ファイル

/A:App1
/U:admin

/ERA

/D:Entity

/REQ:ENTITY_EXPORT_QUERY1

ENTITY_EXPORT_QUERY1=INSERT INTO DataTable_Entity1 VALUES (Member, Parent, Description, Color) 

#ENTITY_EXPORT_QUERY1=Insert into PS3ORA.DataTable_Entity1 (Member, Parent, Description, Color) values (Member, Parent, Description, Color)

例: アウトラインからリレーショナル・データ・ソースに別名とともにエクスポートするプロパティ・ファイル

/A:expe
/U:admin
/ERA
/D:Entity
/REQ:ENTITY_EXPORT_QUERY1
/C2A:AliasLabel
AliasLabel:(AliasTableName, Alias: reallyLongAliasTableName30Char)

ENTITY_EXPORT_QUERY1=Insert into Test(Member, Parent, AliasTableName) values (Member,
Parent, Alias: reallyLongAliasTableName30Char)

前の例について、次のように仮定します:

  • 「Test」表にはMember、Parent、AliasTableNameの3つの列があり、表は空です。

  • エンティティ・ディメンションには、ルート(Entity)の下に1つのメンバーe1があります。

前の問合せを実行すると、「Test」表には1つのエントリが追加されます:

この図は、前述の問合せを実行した後の「Test」表の出力を示しています。

注意:

/C2Aまたはラベル・スイッチ(あるいはその両方)を使用して、Oracleリレーショナル表の30文字の列名制限に対処できます。たとえば、別名: reallyLongAliasTableName30Charは30文字よりも長く、Oracleリレーショナル表の列名として使用できません。