Expressions (MDX)

 

Updated: March 2, 2016

An expression is a combination of identifiers, values, and operators that Microsoft SQL Server Analysis Services can evaluate to get a result. The data can be used in several different places when accessing or changing data. For example, you can use an expression as part of the data to be retrieved by a query or as a search condition to look for data that meets a set of criteria.

An expression can be simple or complex in MDX:

A simple expression can be one of the following expressions:

Constant
A constant is a symbol that represents a single, specific value in MDX. String, numeric, and date values can be rendered as constants. Unlike numeric constants, string and date constants must be delimited with single quote (') characters.

Scalar function
A scalar function returns a single value within the context of evaluation in MDX. This distinction is important to understanding how MDX resolves scalar functions, because most MDX expressions, statements, and scripts are evaluated not over a single data element, but iteratively over a group of data elements such as cells or members. At the time the scalar function is evaluated, however, the function is typically reviewing a single data element.

Object identifier
MDX is object-oriented because of the nature of multidimensional data. Object identifiers are considered simple expressions in MDX. For more information on identifiers, see Identifiers (MDX).

A complex expression can be built from combinations of these entities joined by operators.

For a simple expression built of a single constant, variable, scalar function, or column name, the data type, collation, precision, scale, and value of the expression is the data type, collation, precision, scale, and value of the referenced element. Because MDX directly supports only the OLE VARIANT data type, coercion should not occur when working with simple expressions.

For a complex expression, coercion can occur when using two or more simple expressions with different data types.

The following query shows examples of calculated measures whose definitions are simple expressions:

WITH

MEMBER MEASURES.CONSTANTVALUE AS 1

MEMBER MEASURES.SCALARFUNCTION AS [Date].[Calendar Year].CURRENTMEMBER.NAME

MEMBER MEASURES.OBJECTIDENTIFIER AS [Measures].[Internet Sales Amount]

SELECT {MEASURES.CONSTANTVALUE,MEASURES.SCALARFUNCTION,MEASURES.OBJECTIDENTIFIER } ON 0,

[Date].[Calendar Year].MEMBERS ON 1

FROM [Adventure Works]

An expression can also be a calculation, such as [Measures].[Discount Amount] * 1.5. The following example demonstrates the use of a calculation to define a member in an MDX SELECT statement:

WITH   
   MEMBER [Measures].[Special Discount] AS  
   [Measures].[Discount Amount] * 1.5  
SELECT   
   [Measures].[Special Discount] on COLUMNS,  
   NON EMPTY [Product].[Product].MEMBERS  ON Rows  
FROM [Adventure Works]  
WHERE [Product].[Category].[Bikes]  

TopicDescription
Using Cube and Subcube ExpressionsDefines cube and subcube expressions.
Using Dimension ExpressionsDefines dimension expressions.
Using Member ExpressionsDefines member expressions.
Using Tuple ExpressionsDefines tuple expressions.
Using Set ExpressionsDefines set expressions.
Using Scalar ExpressionsDefines scalar expressions.
Working with Empty ValuesDescribes what an empty value is and how such values are handled.

MDX Language Reference (MDX)
MDX Query Fundamentals (Analysis Services)

Community Additions

ADD
Show: