Exporting Metadata from a Planning Application to a Relational Data Source
You can use the Outline Load utility to export metadata to a relational data source.
Note:
You cannot export data to a relational data source using the Outline Load utility.
Oracle recommends that users employing this functionality are familiar with relational databases, the SQL query language, and JDBC connection properties. For Oracle Hyperion Planning applications, examples of these properties can be found in the HSPSYS_DATASOURCE
table in the system database, which by default is located in the relational database that you create when selecting the Configure Database task under Planning in EPM System Configurator.
These command line parameters are available for users using the Outline Load utility to export to a relational data source:
-
/ER[:RDBConnectionPropertiesFileName]
-
/ERA
-
/REQ:exportQueryOrKey
-
/REC:catalog
-
/RED:driver
-
/RER:url
-
/REU:userName
-
/REP:password
Note:
The /ER
and /REQ
parameters are exclusive.
For descriptions of these parameters, see Command Line Parameters for the Outline Load Utility.
The export query takes the form: INSERT INTO<tableName>[ (column1, column2, ...)] VALUES (property1, property2,...)
Notes:
-
<tableName>
is the name of the table into which the exported values will be inserted -
(column1, column2, …)
is an optional list of column names and the values (properties) will be inserted into the table -
(property1, property2, …)
are not strictly values, but member property names (as in the column headers)Note:
Unlike header records, the member name is specified with ‘Member’, not the dimension name.
For example:
Assume Planning has two members in its Entity dimension ‘e1’ with description ‘e1’s description’ and ‘e11’ with description ‘e11’s description.’ E1 resides under entity, e11 resides under e1. So the planning dimension looks like:
Entity
e1
e11
Assume the destination table my_table
has three columns: column1
, column2
, column3
Insert into my_table values (Member, Parent, Description)
results in my_table
having the following rows added:
E1 e1's description Entity
E11 e2's description e1
Which is the same as:
Insert into my_table (column1, column2, column3) values (Member, Parent, Description)
Note:
The table must contain as many or more columns as properties specified.
There are two special operators that can be specified in the query: <columns>
and <properties>
. <columns>
expands to all of the column names in the table. <properties>
expands to all of the properties of the exported dimension, as shown with the /M
switch.
Insert into my_table values (<properties>)
Which loads all entity properties into my_table
.
Which is the same as:
Insert into my_table (column1, column2, ….. column23) values (<properties>)
If my_table
contained exactly the number of columns as properties, the following query would produce the same result:
Insert into my_table (<columns>) values (<properties>)
You could also use the names of table columns to extract the member properties. For example, sample_table
, with columns: Member
, Parent
, and Description
. The following queries would produce the same result as the first example:
Insert into sample_table values (<columns>)
Insert into sample_table (<columns>) values (<columns>)
Example 5-6 Example: Properties File for Exporting Metadata to a Relational Data Source
/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)
Example 5-7 Example: Properties File for Exporting with an Alias from an Outline to a Relational Data Source
/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)
Assume the following with regards to the previous example:
-
The 'Test' table has three columns, Member, Parent, AliasTableName and the table is empty.
-
The Entity dimension has one member, e1, under the root (Entity).
After running the previous query, the 'Test' table will have one entry:
Note:
The /C2A
and/or Label
switches may be used to work around the thirty character column name limit restriction in Oracle relational tables; for example, Alias: reallyLongAliasTableName30Char
is longer than thirty characters and not allowed as a column name in Oracle relational tables.