可以使用列表达式和动因表达式的组合从多个列加载数据,如下所示:
列表达式用于指定要导入的列。可以导入一组连续的列或一组不连续的列。
通过使用起始列和结束列指定连续列。例如,5,10
表示列 5
至 10
。
通过使用 column1 | column2 | column3
指定不连续的列。例如,5|7|10
指示导入列 5
、7
和 10
。
动因表达式可用于为每个列指定维和目标值。动因维是向其加载数据的成员。每个加载可以有一个动因维,但可以为一个动因维定义多个成员。动因维仅适用于多列类型。
数据规则中的成员分配与多期间分配类似。可以在标题记录、导入格式(成员表达式)或数据规则中分配动因成员。如果未在导入格式中指定标题记录或成员表达式,则可以在数据加载规则中选择成员。
有关详细信息,请参阅“为数据动因添加导入表达式”和“分配动因维成员”。
对于多列类型,可以使用标题、多行标题,或者不在导入格式中指定任何标题。以下是各种格式:
注:
在导入格式中,在数据字段中定义的动因维必须有一个列定义。如果动因是 "Account",则在导入格式中必须包含针对帐户维的源列和字段或者起始期间和结束期间。这必须是文件中的有效字段或文件中的有效起始位置和结束位置。过程不会引用这些项,但这些项必须对要执行的过程有效。
对于具有标题记录的文件,使用格式 Driver=<Dimension Name>; Header=<Row Number>; Column=<Column Numbers>
。
例如,向以下示例数据文件应用导入格式定义 Driver=Account;HeaderRow=1;Column=2,4
:
Entity,ACCT1,ACCT2,ACCT3 Entity01,100,200,300
这告知系统第 1 行是标题,数据从第 2 行开始。在第 2 列中,实体是第一个值,接下来的三列是 ACCT1、ACCT2 和 ACCT3 的值。
对于具有多行标题的文件(动因成员不与数据列对齐),可以使用经过修改的标题表达式。例如,从 Essbase 中导出以下数据文件中所示的数据时,数据列标题是一个新行,不与数据对齐。
"Period","Consolidation","Data Source","Currency","Intercompany","Entity","Movement","Multi-GAAP","Product","Scenario","Years","View","Account" "FCCS_Sales","FCCS_Cost of Sales" "Jan","FCCS_Entity Input","FCCS_Data Input","Entity Currency","FCCS_No Intercompany","01","FCCS_No Movement","FCCS_Local GAAP","P_110","Actual","FY15","FCCS_Periodic",3108763.22,2405325.62 "Jan","FCCS_Entity Input","FCCS_Data Input","Parent Currency","FCCS_No Intercompany","01","FCCS_No Movement","FCCS_Local GAAP","P_110","Actual","FY15","FCCS_Periodic",3108763.22,2405325.62
对于多行标题,可以将包含动因信息的标题行告知系统。将标题行指定为 Header=2,1 时,这意味着标题从第 2 行开始,动因成员从第 1 列开始。
在另一个示例中,假设第二个标题是 A,B,C,D,并且这些值所在的列为 10 到 13。如果将列表达式设置为 10|12,13,则会跳过 B 成员及其值(在第 11 列中)。
要加载不具有标题记录的数据文件中的多个列,请使用导入格式定义 Driver = <Dimension Name>; Member = <List of Members>; Column=<Column Numbers>
。要跳过源记录中的源列时,请使用此方法。
例如,向以下数据文件应用导入格式定义 Driver=Account;member=ACCT1, ACCT2, ACCT3;Column=2,4;
时:
Entity01,100,200,300
您告知系统:实体作为第一个值,然后对于接下来的三列,使用 ACCOUNT 的 ACCT1、ACCT2 和 ACCT3 中的动因维成员值。
对于数据源应用程序类型,您可以分配动因维,但系统将第 1 行指定为标题。可以通过从“添加导入格式映射表达式”屏幕中选择多列来加载这些列。