本主题介绍了创建自定义计算规则时要使用的语法。
语法汇总如下:
基本公式格式为“结果等于公式”,其中“结果”和“公式”用 := 分隔开,因此格式为“结果 := 公式”。
等式的左侧为“结果”,即确定自定义计算结果写入到哪里的元组。
Note:
元组是用括号括住的逗号分隔成员列表。
元组是指定一个或多个成员的 MDX,其中成员都不在同一个维中。元组表达式中只允许使用成员名称。自定义计算不支持成员函数。“结果”中不允许存在动态和属性成员。“结果”必须包括“结果”维中的单个成员。它必须是 0 级,可以是 0 级元组的一部分,例如 ([STA1120],[Feb])
。“结果”维是在自定义规则页面的目标选项卡中定义的。
Note:
MDX 是 XML for Analysis 创始成员的接点规范。有关允许的 MDX 语法的详细信息,请参阅《Oracle Essbase Technical Reference》的第 7 章 "MDX"。
等式的右侧是“公式”,即简单的 MDX 数值表达式。目标包含处于任何级别的其他成员、元组或常量以及要执行的数学表达式。它必须至少包括“结果”维中的一个成员,可以是 0 级或更高级别,也可以是元组。
Note:
等式任一侧的成员必须用方括号 [ ] 括住。
元组必须用括号 ( ) 括住。
“公式”表达式必须以 ; 结束。
“公式”可以使用以下内容:
常量:[STAT1120]:=1;
Note:
常量可以是数值常量,例如 7
。它可以是引用结果维中其他成员的值的表达式,并且可以引用以成员元组表达的值。
数学运算:[STAT1114]:=([STAT1305],[Rule])*([STAT1307],[Rule]);
Note:
数学运算必须始终包括一个“规则”维成员。
自定义计算规则支持以下成员名称语法格式:
无限定: 仅提供成员名称。
示例:[MemberName]
完全限定: 成员的完全限定名称 (FQN)。
示例:[Dimension].[Gen2].[Gen3].[Gen4]...[MemberName]
在公式中,替代变量名称必须用方括号 ([]) 括起来并以 &(和号)开头。
示例公式:([Rule1],[PCM_Adjustment In]) := ([PCM_Input],[PCM_Rule], [&Prior_Year]) *.10;
不要使用方括号括住替代变量值。
正确的变量值:2022
不正确的变量值:[2022]
Note:
有关定义自定义计算规则时优化性能的信息,请参阅“跳过空元组以优化自定义计算”。