## Calculation Operators

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

### Mathematical Operators

Table 3-2 Mathematical Operators

Operator Description
- 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

Table 3-3 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
= = If 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.Foot 1

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

Footnote 1

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

Footnote 2

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

Footnote 3

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")));``