学习基本计算脚本语法
为 Essbase 块存储多维数据集设计计算脚本时,需要学习一些语法规则。命令通常以分号终止。必须在特定成员名称周围使用引号。Essbase 可以帮助您验证语法。
总体语法规则
Essbase 块存储多维数据集包含一组灵活的命令,可用于控制多维数据集的计算方式。可以从命令和公式构建计算脚本。
创建计算脚本时,必须应用以下规则:
-
使用分号 (;) 结束每个公式或计算脚本命令。例如:
示例 1
CALC DIM(Product, Measures);示例 2
DATACOPY Plan TO Revised_Plan;示例 3
"Market Share" = Sales % Sales -> Market;示例 4
IF (Sales <> #MISSING) Commission = Sales * .9; ELSE Commission = #MISSING; ENDIF;无需用分号结束以下 conditional 或 control flow commands :
- IF
- ENDIF
- ELSE
- ELSIF
- FIX
- 结尾
- EXCLUDE
- 结束排除
- LOOP
- 结束循环
注意:
虽然不是必需的,但 Oracle 建议在公式中用分号结束每个 ENDIF 语句。
-
如果成员名称与以下任一条件匹配,请用双引号 (" ") 将成员名称括起来:
-
包含空格。
例如,在以下公式中,“期初库存”和“期末库存”以双引号括起来:
"Opening Inventory" = "Ending Inventory" - Sales + Additions; -
与运算符、函数名称或关键字相同。
-
包括任何非字母数字字符,例如连字符 ( - )、星号 ( * ) 或斜杠 ( / )。
-
仅包含数字或以数字开头。
例如:"100" 或 "10Prod"
-
以 & 符号开始。前导和符号 (&) 保留用于替代变量。如果成员名称以 & 开头,则将该名称括在引号中。
注意:
在计算脚本中,不要将替代变量括在引号中。
-
包含点 (.)
例如:1999。一月或 0.100
-
-
如果您使用的是 IF 语句或相互关联的公式,请将公式括在括号中以将其与指定成员关联。
例如,以下公式与数据库大纲中的委员会成员关联:
Commission (IF(Sales < 100) Commission = 0; ENDIF;) -
例如,上一个公式包含一个简单的 IF...ENDIF 语句。
-
如果使用的 IF 语句嵌套在另一个 IF 语句中,则应以 ENDIF 语句结束每个 IF。
例如:
"Opening Inventory" (IF (@ISMBR(Budget)) IF (@ISMBR(Jan)) "Opening Inventory" = Jan; ELSE "Opening Inventory" = @PRIOR("Ending Inventory"); ENDIF; ENDIF;) -
您无需使用 ENDIF 语句结束 ELSE 或 ELSEIF 语句。
例如:
Marketing (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。
-
使用 ENDFIX 语句结束每个 FIX 语句。
例如:
FIX(Budget,@DESCENDANTS(East)) CALC DIM(Year, Measures, Product); ENDFIX -
使用 ENDEXCLUDE 语句结束每个 EXCLUDE 语句。
使用 Essbase Web 界面编写计算脚本时,可以使用语法检查器对其进行验证。
在计算脚本中使用备注
可以为计算脚本添加注释。运行计算脚本时将忽略备注。
要包含注释,请以 /* 开头注释,以 */ 结束注释。例如:
/* This calculation script comment
spans two lines. */检查语法
Essbase Web 界面中的计算脚本编辑器包括语法验证,用于标记计算脚本中的语法错误(例如函数名称类型错误)。
如果未发现语法错误,则 Essbase 指示语法检查成功。
如果发现语法错误,则 Essbase 将指示语法检查失败,并一次显示一个错误,指示错误发生的位置。
注意:
语法检查器无法确定语义错误,当计算脚本无法按预期工作时会出现这些错误。要查找语义错误,请运行计算并检查结果,以确保它们符合您的预期。