如果预定义动因公式未准确反映模型需要的计算流,您可以使用公式编辑器创建自定义动因公式。所创建的用于计算动因值的公式可以是简单公式,也可以是包含 IF 语句的复杂公式。
使用自定义动因的分配会在计算脚本中自动提供 FIX 上下文。定义公式时应考虑 FIX 上下文。FIX 上下文始终固定在分配的分配块上。有关 FIX 命令的信息,请参阅《Oracle Essbase Database Administrator's Guide》。
自定义公式可以包括无数个自定义和预定义变量,如 Volume 或 Rate。自定义变量必须在 Profitability 应用程序控制台中的度量维中定义。
您可以为自定义公式中使用的变量另外指定一个位置,以便在不同阶段使用自定义公式。尽管 Oracle Essbase 中不使用大括号 ({}),但在定义位置(全局、源、目标或分配)时仍必须将使用的变量放在大括号中。在生成计算脚本期间将动态解析该位置。
注:
如果未指定变量的位置,则认为该位置是一个分配。
您可以在元素之间使用函数(操作数)来控制公式计算,包括以下示例所示的简单操作数:
加 (+)
减 (-)
乘 (*)
除 (/)
每个公式都必须以分号 (;) 结束。
此示例显示自定义动因公式的常规格式:
"CalculatedDriverValue" = {Custom Variable —> Source} * {Custom Variable —> Destination};
以下示例所示为一个不使用任何位置语法的自定义动因公式:
"CalculatedDriverValue" = "Variable1" * "Variable2" —> "[GL Departments].[NoMember]";
自定义公式在数学上必须准确无误,在语法上必须准确遵照 Essbase 语法,但对于 Oracle Hyperion Profitability and Cost Management 以下情况例外:
尽管 Essbase 中不使用大括号,但仍必须将自定义变量(动因度量)和位置(全局、源、目标或分配)放在大括号中。
使用 Profitability and Cost Management 语法指定的变量不应放在双引号之间。
Profitability and Cost Management 会解析位置语法,并将其转换为 Essbase 语法。在对使用 Profitability and Cost Management 语法定义了位置的变量进行解析得出正确的维引用后,公式被复制到 Essbase 计算脚本中,并在脚本内按照 Essbase 语法接受验证。
有关使用公式编辑器创建自定义公式的说明,请参阅《Oracle Essbase Database Administrator's Guide》。