Topic Status: Some information in this topic is preview and subject to change in future releases. Preview information describes new features or changes to existing features in Microsoft SQL Server 2016 Community Technology Preview 2 (CTP2).
Removes any enforced ordering from a specified 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 2016 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>))