自定义计算规则的公式语法

本主题介绍了创建自定义计算规则时要使用的语法。

语法汇总如下:

  • 基本公式格式为“结果等于公式”,其中“结果”和“公式”用 := 分隔开,因此格式为“结果 := 公式”。

  • 等式的左侧为“结果”,即确定自定义计算结果写入到哪里的元组。

    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:

有关定义自定义计算规则时优化性能的信息,请参阅“跳过空元组以优化自定义计算”。