Unorder (MDX)

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Removes any enforced ordering from a specified set.




A valid Multidimensional Expressions (MDX) expression that returns a set.


The Unorder function removes any ordering imposed on the tuples contained in the set by any other function or statement, such as the Order function. The ordering of the tuples in the set returned by the Unorder function is indeterminate.

The Unorder function is used as a hint to Microsoft SQL Server Analysis Services for query optimization for set processing. If the order of tuples within a set is unimportant to a calculation or query, using the Unorder function can provide a performance benefit in such cases. For example, the NonEmpty (MDX) function may perform better when the set provided to this function is unordered than if Analysis Services needs to preserve order, although with SQL Server 2017 Analysis Services (SSAS), the query processor attempts to perform this function automatically for many functions, such as Sum and Aggregate. The performance benefit of using Unorder is only likely to be noticeable on very large sets consisting of millions of tuples.


The following pseudo-code illustrates the syntax for this function.

NonEmpty (UnOrder (<set_expression>))  

See Also

MDX Function Reference (MDX)