Importación de metadatos

A continuación se muestra una línea de comandos de ejemplo para ejecutar la utilidad Carga de esquema con el archivo myprop_relational.properties (descrito más adelante) como entrada:

OutlineLoad /CP:c:/myprop_relational.properties

El archivo importará miembros de Account desde la aplicación PS2ORAU que se muestra en los parámetros de conexión JDBC en una aplicación denominada Test_300. El archivo de propiedades puede contener varias consultas relacionales. El parámetro /RIQ determina la consulta que ejecutará la utilidad Carga de esquema.

Para obtener una descripción de /RIQ, consulte Parámetros de la línea de comandos para la utilidad Carga de esquema.

Ejemplo 5-1 Ejemplo: archivo myprop_relational.properties

/A:Test_300
/U:admin
/RIQ: ACCOUNT_QUERY

/D:Account
#
ACCOUNT_QUERY=SELECT O.OBJECT_NAME as Account, (select object_name from hsp_object where object_id = O.PARENT_ID) as Parent from HSP_ACCOUNT A, HSP_MEMBER M, HSP_OBJECT O LEFT OUTER JOIN HSP_STRINGS S ON O.DESCRIPTION = S.STRING_SEQ  WHERE O.OBJECT_ID=M.MEMBER_ID AND M.MEMBER_ID = A.ACCOUNT_ID AND M.MEMBER_ID <> M.DIM_ID ORDER BY O.POSITION
#
ENTITY_QUERY=SELECT O.OBJECT_NAME as Entity, (select object_name from hsp_object where object_id = O.PARENT_ID) as Parent from HSP_ENTITY E, HSP_MEMBER M, HSP_OBJECT O LEFT OUTER JOIN HSP_STRINGS S ON O.DESCRIPTION = S.STRING_SEQ  WHERE O.OBJECT_ID=M.MEMBER_ID AND M.MEMBER_ID = E.ENTITY_ID AND M.MEMBER_ID <> M.DIM_ID ORDER BY O.POSITION

## jdbc connection
/RIC:PS2ORAU
/RIR:jdbc:oracle:thin:@[scl34390]:1521:orcl
/RID:oracle.jdbc.OracleDriver
/RIU:PS2ORAU
/RIP:password

#end myprop_relational.properties file

En el ejemplo siguiente, una dimensión de atributo tanto en las aplicaciones de origen como de destino tiene un nombre con más de 30 caracteres, Size012345678901234567890123456789, que excede el límite para las cabeceras de columnas de Oracle. La consulta del siguiente ejemplo se utiliza para crear un conjunto de resultados del origen que se va a importar a la aplicación de destino. El nombre de dimensión largo debe tener un alias a la columna O.OBJECT_NAME para permitir que OLU utilice esta columna como nombre de dimensión de atributo.

Ejemplo 5-2 Ejemplo: archivo de propiedades que importar de un origen de datos relacional en una aplicación de Planning

/A:TARGET
/U:admin
/IR

/DA:Size012345678901234567890123456789:Entity

/C2A:(OBJECT_NAME,Size012345678901234567890123456789)

ATTRIB_DIM_VAL_QUERY_ORACLE1=SELECT O.OBJECT_NAME, (select object_name from PS3ORA.hsp_object where object_id = O.PARENT_ID) as Parent from PS3ORA.HSP_OBJECT O WHERE O.OBJECT_ID IN (select AM.ATTR_MEM_ID from PS3ORA.hsp_attribute_member AM, PS3ORA.HSP_OBJECT O where AM.ATTR_ID =(select OBJECT_ID from PS3ORA.hsp_object where OBJECT_NAME='Size012345678901234567890123456789')) ORDER BY O.POSITION

Ejemplo 5-3 Ejemplo: archivo de propiedades que importar con alias de un origen de datos relacional en una aplicación de Planning

/A:expe
/U:admin
/IRA
/D:Entity
/C2A:(Member as Entity,anotherReallyLongAliasForAColumnNameItsForEntityThisTimeDifferentFromExport), (Parent, anotherAliasForParent)

/RIQ:select anotherReallyLongAliasForAColumnNameItsForEntityThisTimeDifferentFromExport, Parent from test

Asuma lo siguiente en relación con el ejemplo anterior:

  • La tabla 'Test' tiene dos columnas, Member y Parent, y tiene una entrada:


    En este gráfico se muestra el resultado de tabla 'Test' después de ejecutar la consulta anterior.
  • La dimensión Entity tiene un miembro, e1, en la raíz (Entity).

Después de ejecutar la consulta anterior, el miembro Ex se agrega o actualiza en la dimensión Entity.

Durante la importación, los alias de columnas se manejan como una cadena de reemplazo directa, motivo por el que la cláusula "as" puede funcionar en este caso. Si la columna Member tiene el nombre Entity, debería borrar el valor 'Member as'.

Ejemplo 5-4 Ejemplo: uso del parámetro /C2A para importar alias en una tabla de alias

/A:TARGET
/U:admin
/IR
/D:Entity

/RIQ:ENT_ALIAS_ASSIGNMENT_QUERY

/C2A:(AliasTableName, Alias: LongAliasTableName012345678901234567890123)

ENT_ALIAS_ASSIGNMENT_QUERY=SELECT O.OBJECT_NAME as Entity, (select object_name from hsp_object where OBJECT_ID=O.PARENT_ID) as Parent, (select OBJECT_NAME from HSP_OBJECT where OBJECT_ID = AL.ALIAS_ID) as AliasTableName  from hsp_object O, HSP_ALIAS AL where (AL.ALIASTBL_ID = (select OBJECT_ID from HSP_OBJECT where OBJECT_NAME =' LongAliasTableName012345678901234567890123') AND O.OBJECT_ID=AL.MEMBER_ID)

Nota:

En el ejemplo anterior, tanto la aplicación de Oracle Hyperion Planning de destino como el origen contienen un nombre de tabla de alias largo.

Ejemplo 5-5 Ejemplo: uso del parámetro /C2A para asignar nombres de columna a nombres de propiedades

/RIQ:select c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,c21,c22,c23,c24,c25,c26,c27 from table28

/c2a:(c1, Account), \
(c2, Parent), \
(c3, Alias: Default), \
(c4, Valid For Consolidations), \
(c5, Data Storage), \
(c6, Two Pass Calculation), \
(c7, Description), \
(c8, Formula), \
(c9, UDA), \
(c10, Smart List), \
(c11, Data Type), \
(c12, Hierarchy Type), \
(c13, Enable for Dynamic Children), \
(c14, Number of Possible Dynamic Children), \
(c15, Access Granted to Member Creator), \
(c16, Account Type), \
(c17, Time Balance), \
(c18, Skip Value), \
(c19, Exchange Rate Type), \
(c20, Variance Reporting), \
(c21, Source Plan Type), \
(c22, Plan Type (Plan1)), \
(c23, Aggregation (Plan1)), \
(c24, Plan Type (Plan2)), \
(c25, Aggregation (Plan2)), \
(c26, Plan Type (Plan3)), \
(c27, Aggregation (Plan3))