This section describes operators that can be used in MDX queries as part of numeric value expressions or search conditions.
| Operator | Definition |
|---|---|
| + | Adds. Also can be used as a unary operator. |
| - | Subtracts. Also can be used as a unary operator; for example, -5, -(Profit). |
| * | Multiplies. |
| / | Divides. |
| % | Evaluates percentage. For example, Member1%Member2 evaluates Member1 as a percentage of Member2. Note: Aggregate storage outline formulas cannot contain the % operator. In outline formulas, replace % with expression: (value1/value2)*100) |
Conditional and Logical Operators
Conditional operators take two operands and check for relationships between them, returning TRUE or FALSE.
| Operator | Definition |
|---|---|
| > | Data value is greater than. |
| < | Data value is less than. |
| = | Data value is equal to. |
| <> | Data value is not equal to. |
| >= | Data value is greater than or equal to. |
| <= | Data value is less than or equal to. |
| IN | The syntax for the IN operator is as follows:<property> IN <member>|<character_string_literal> The first argument, <property> should be an attribute property; for example, Population in the following example. The second argument, <member> or <character_string_literal>, should be an attribute member that is neither a level-0 member nor a generation-1 member; for example, Medium in the following example. Example The following filter evaluates the Population property (attribute) of the current member of Market dimension: Filter ([Market].Members, Market.CurrentMember.Population IN Medium)If the population attribute of the current member is Medium, the expression returns TRUE. |
| IS | The IS operator syntax is as follows: member1 IS member2. The IS operator is equivalent to the IS function. For details and examples, see the IS function. |
Boolean operators can be used in the following functions to perform conditional tests: Filter, Case, IIF, Generate. Boolean operators operate on boolean operands (TRUE/FALSE values).
See also MDX Functions that Return a Boolean.
| Operator | Definition |
|---|---|
| AND | Logical AND linking operator for multiple value tests. Result is TRUE if both conditions are TRUE. Otherwise the result is FALSE. For an example using AND, see IsValid. |
| OR | Logical OR linking operator for multiple value tests. Result is TRUE if either condition is TRUE. Otherwise the result is FALSE. |
| NOT | Logical NOT operator. Result is TRUE if condition is FALSE. Result is FALSE if condition is TRUE. For an example using NOT, see IsEmpty. |
| XOR | Logical XOR linking operator for multiple value tests. Result is TRUE if only one condition is TRUE. Otherwise the result is FALSE. |