Calculation Operators

Essbase calculation operators (mathematical, conditional and logical, and cross-dimensional) help you define equations for member formulas and calc scripts.

Mathematical Operators

Mathematical operators help you perform common arithmetic operations in your Essbase calculation scripts.

Table 3-1 Mathematical Operators

Operator Description
+ Adds
- Subtracts
* Multiplies
/ Divides
%

Evaluates percentage, for example:

Member1%Member2 evaluates Member1 as a percentage of Member2.

( ) Controls the order of calculations and nests equations and formulas

Conditional and Logical Operators

Conditional operators in Essbase calculations help you build logical conditions into your calculation scripts.

Table 3-2 Conditional and Logical Operators

Operator Description
IF | ELSE | ELSEIF | ENDIF Tests conditions and calculates a formula based on the success or failure of the test
> Data value is greater than
>= Data value is greater than or equal to
< Data value is less than
<= Data value is less than or equal to
== Data value is equal to
<> or != Data value is not equal to
AND

Logical AND linking operator for multiple value tests. Result is TRUE if both conditions are TRUE. Otherwise the result is FALSE.

The logical constants TRUE and FALSE are interpreted as 1 (TRUE) and 0 (FALSE) where appropriate.

OR

Logical OR linking operator for multiple value tests. Result is TRUE if either condition is TRUE. Otherwise the result is FALSE.

The logical constants TRUE and FALSE are interpreted as 1 (TRUE) and 0 (FALSE) where appropriate.

NOT

Logical NOT operator. Result is TRUE if condition is FALSE. Result is FALSE if condition is TRUE.

The logical constants TRUE and FALSE are interpreted as 1 (TRUE) and 0 (FALSE) where appropriate.

Cross-Dimensional Operator

The cross-dimensional operator, ->, is an Essbase calculation notation for pointing to data values of specific member combinations.

To include a cross-dimensional operator in a calculation, create it using a hyphen ( - ) and a right angle bracket ( > ), with no space between them.

->

The following example uses the CLEARDATA command to clear budget data for the Colas product family.

CLEARDATA Budget->Colas;

The following example uses a cross-dimensional operator between two member functions to calculate the average of the children of a member across two dimensions.

@AVGRANGE(SKIPBOTH,"Sales",@CHILDREN(@CURRMBR("Product"))->@CHILDREN(@CURRMBR("Market")));