MDX语法之排序函数Order

使用场景:

排列指定集的成员,可以选择保留或打乱原有的层次结构。

语法:

Numeric expression syntax

Order(Set_Expression, Numeric_Expression 

[ , { ASC | DESC | BASC | BDESC } ] )



String expression syntax

Order(Set_Expression, String_Expression 

[ , { ASC | DESC | BASC | BDESC } ] )
 

参数:

Set_Expression

返回集的有效多维表达式 (MDX)。

Numeric_Expression

有效数值表达式,通常为返回数值的单元坐标的多维表达式 (MDX)。

String_Expression

通常是单元坐标(返回以字符串表示的数字)的有效多维表达式 (MDX) 的有效字符串表达式。

 

说明:

如果指定了ASC 或 DESC,则 Order 函数先根据成员在层次结构中的位置进行排列,然后对每一级别进行排序。 如果指定了 BASC 或 BDESC,则 Order 函数排列集中的所有成员时不考虑层次结构。 如果未指定任何标志,则默认为 ASC。

如果 Order 函数用于其两个或多个层次结构执行叉积的集合,并且使用 DESC 标志,则只对该集合中最后一个层次结构的成员进行排序。 这与 Analysis Services 2000 不同,后者对集合中的所有层次结构进行排序。

实例:

按照Dimension排序。

select non empty

order

( {[Customer].[City].[All].Children},

[Customer].[City].CurrentMember.Name, DESC

) on 1,

[Measures].[Internet Sales Amount] on 0

from [Adventure Works];

结果如下:

image

按照measure值排序

select non empty

order

( {[Customer].[City].[All].Children},

[Measures].[Internet Sales Amount], DESC

) on 1,

[Measures].[Internet Sales Amount] on 0

from [Adventure Works];

结果如下:

image

你可能感兴趣的:(order)