10.1 Eval
*REC( )指令提示程序在符合指定条件后应该执行的操作。每个REC指令生成一个要过账到数据库的新记录。每个源记录可生成要求数量的记录,即使指向相同的目标单元格。
示例1
*XDIM_MEMBERSET P_ACCT = CE0004010
*WHEN CATEGORY
*IS ACTUAL *REC(FACTOR = 1.1,CATEGORY=“FORECAST“)
*ENDWHEN
结束举例。
{成员}必须用双引号引起来,并且可包含以百分比符号围起来的任何维的名称(例如:ENTITY="IC_%ENTITY%")。在此情况中,将用该维当前成员的值替换维名称,而不仅仅用该维的名称替换。
可以使用 WHEN语句中的属性值。
示例2
*XDIM_MEMBERSET CATEGORY = PLAN
*WHEN TIME.YEAR
*IS "2007"
*REC(FACTOR = 1.1, CATEGORY="FORECAST")
*ENDWHEN
上述脚本将 2007计划数据复制到“预测”。还可以读取属性值,并将它们分配给各维。
示例
示例3
*XDIM_MEMBERSET TIME = 2006.AUG,2006.SEP
*XDIM_MEMBERSET P_ACCT=CE0004010
*XDIM_MEMBERSET CATEGORY=ACTUAL
*WHEN P_ACCT
*IS "CE0004010"
*REC(EXPRESSION=%VALUE%/1.5098,RPTCURRENCY="EUR")
*REC(EXPRESSION=%VALUE%/1.0666,RPTCURRENCY="CAD")
*REC(EXPRESSION=%VALUE%/1.9183,RPTCURRENCY="GBP")
*ENDWHEN
上面显示的脚本在多维数据集中创建EUR、CAD 和 GBP 过账。
示例4:使用维里的其他成员
要引用其他源值,必须使用完全限定的MDX格式,包括“科目”维(见红色部分)
Environment:EnvironmentShell_V(EnvironmentShell的副本)
应用程序:计划
*XDIM_MEMBERSET P_ACCT =CE0004010,CE0004020
*WHEN P_ACCT
*IS "CE0004010"
*REC(EXPRESSION=%VALUE%/[P_ACCT].[CE0004020],P_ACCT="CE0661000")
*ENDWHEN
示例5:可以使用元组。
Environment:EnvironmentShell_V(EnvironmentShell 的副本)
应用程序:计划
*XDIM_MEMBERSET P_ACCT =CE0004010,CE0652000
*WHEN P_ACCT
*IS "CE0004010"
//除的值为多个维联合组成的值
*REC(EXPRESSION=%VALUE%/([P_ACCT].[CE0652000],[P_ACTIVITY].[LABPRD]), P_ACCT="CE0661000")
*ENDWHEN