匯入中繼資料

以下是輸入時使用 myprop_relational.properties 檔案執行 Outline Load 公用程式的命令行範例 (如下所示):

OutlineLoad /CP:c:/myprop_relational.properties

該檔案會將帳戶成員從 JDBC 連線參數中顯示的 PS2ORAU 應用程式匯入名稱為 Test_300 的應用程式。特性檔可包含數種關聯式查詢。/RIQ 參數可決定「大綱載入」公用程式將執行何種查詢。

如需 /RIQ 的描述,請參閱Outline Load 公用程式的命令行參數

範例 5-1 範例: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

在下例中,來源與目標應用程式中的 Attribute 維度具有超過 30 個字元的名稱,Size012345678901234567890123456789,該名稱超過 Oracle 欄標頭限制。下例中的查詢用來建立要從來源匯入目標應用程式的結果集。長維度名稱必須將欄命名別名為 O.OBJECT_NAME 以允許 OLU 將此欄作為 Attribute 維度名稱。

範例 5-2 範例:從關聯式資料來源匯入至 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

範例 5-3 範例:從關聯式資料來源匯入至 Planning 應用程式之含別名的特性檔

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

/RIQ:select anotherReallyLongAliasForAColumnNameItsForEntityThisTimeDifferentFromExport, Parent from test

假設以下與先前範例相關:

  • 「測試」表格有兩欄,「成員」與「父項」,而且該表格有一個輸入項目::


    此圖顯示執行先前查詢後的「測試」表格的輸出。
  • Entity 維度有一個成員 e1,在根成員 (實體) 之下。

執行先前查詢之後,成員 Ex 會新增至 Entity 維度或在該維度中更新。

匯入時,欄別名會以連續的字串取代來處理,這就是 "as" 子句可在此情況下產生作用的原因。如果「成員」欄命名為「實體」,您可置於 'Member as'。

範例 5-4 範例:使用 /C2A 參數以將別名匯入別名表

/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)

註:

在先前的範例中,目標 Oracle Hyperion Planning 應用程式與來源兩者皆包含長別名表名稱。

範例 5-5 範例:使用 /C2A 參數以將欄名稱對應至特性名稱

/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))