Essbase 公式语法
您可以使用 Essbase 计算语法在块存储多维数据集上开发公式,包括成员名称、方程式、值、运算符、语句终止符和引号。
创建成员公式时,请遵循以下规则:
-
用分号 (;) 结束公式中的每个语句。例如:
Margin % Sales; -
仅使用已保存的大纲成员名称。如果将替代变量用于成员名称,则替代变量值必须是已保存的大纲成员名称。
-
如果成员名称满足以下任一条件,请用双引号 (
"") 将成员名称括起来:-
包含空格。例如:
"Opening Inventory" = "Ending Inventory" - Sales + Additions; -
与运算符、函数名称或关键字相同。
-
包括任何非字母数字字符。例如,连字符 (-)、星号 (*) 和斜杠 (/)。
-
都是数字或以一个或多个数字开头。例如,
"100"或"10Prod"
有关必须用引号括起的成员名称的完整列表,请参见 Naming Conventions in Calculation Scripts,Report Scripts,Formulas,Filters,and Substitution and Environment Variable Values 。
-
-
使用 ENDIF 语句结束公式中的每个 IF 语句。
例如,以下公式包含一个简单的 IF...ENDIF 语句。您可以在大纲中将此公式应用于委员会成员:
IF(Sales < 100) Commission = 0; ENDIF;如果使用嵌套在另一个 IF 语句中的 IF 语句,则应在每个 IF 结束时添加 ENDIF。例如:
"Opening Inventory" (IF (@ISMBR(Budget)) IF (@ISMBR(Jan)) "Opening Inventory" = Jan; ELSE "Opening Inventory" = @PRIOR("Ending Inventory"); ENDIF; ENDIF;) -
无需使用 ENDIF 结束 ELSE 或 ELSEIF 语句。例如:
IF (@ISMBR(@DESCENDANTS(West)) OR @ISMBR(@DESCENDANTS(East) Marketing = Marketing * 1.5; ELSEIF(@ISMBR(@DESCENDANTS(South))) Marketing = Marketing * .9; ELSE Marketing = Marketing * 1.1; ENDIF;注意:
如果在公式中使用 ELSE IF(带空格)而不是 ELSEIF(一个单词),则必须为 IF 语句提供 ENDIF。
-
使用分号 (;) 结束 ENDIF 语句不是必需的,但这是一个好的做法。
编写公式时,可以使用公式编辑器语法检查器检查语法。请参阅验证公式语法。
请参见: