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];

结果如下:

按照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];

结果如下:

时间: 2024-12-22 08:24:32

MDX语法之排序函数Order的相关文章

hive分组排序函数 分组取top10

hive分组排序函数 分组取top10 语法:row_number() over( partition by 字段a order by 计算项b desc) rank --这里rank是别名 Partition by:类似hive的建表,分区的意思 这里按字段a分区,对计算项b进行降序排序 实例: 要取top10品牌,各品牌的top10渠道,各品牌的top10渠道中各渠道的top10档期 1) 取top10品牌 Select 品牌,count/sum/其他() as num from tb_na

SQL Server之排序函数

Sql Server2005数据库自带一个排序函数ROW_NUMBER(),列表为: 语法:row_number() : over(子句)1.使用row_number()函数进行编号: select row_number() over(order by Sage) id ,* from Student 原理:先按Sage进行排序,排序完后,给每条数据进行编号.注:在使用over等开窗函数时,over里头的分组及排序的执行晚于"where,group by,order by"的执行.结果

SQL中几个常用的排序函数

排序函数是做什么的? 排序函数的作用是基于一个结果集返回一个排序值.排序值就是一个数字,这个数字是典型的以1开始且自增长为1的行值.由ranking函数决定排序值可以使唯一的对于当前结果集,或者某些行数据有相同的排序值.在接下来我将研究不同的排序函数以及如何使用这些函数. 使用RANK函数的例子 RANK函数每个分区的排序都是从1开始."partition"是一组有相同指定分区列值的数据行的集合.如果一个分区中有相同排序列的值(这个列指定在ORDER BY后面),然后相同排序列值的行将

【Oracle命令】sql语句之排序(order by)

通过对数据库数据进行降序排序来达到显示最新数据在前面的效果 -- 降序排序(最新的显示在前面) SELECT * FROM 表名 t ORDER BY t.uploadDatetime DESC; 格式: ORDER BY { column-Name | ColumnPosition | Expression } [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ] [ , column-Name | ColumnPosition | Expression [

C++ 排序函数 sort(),qsort()的使用方法

想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~ 所以自己总结了一下,首先看sort函数见下表: 函数名 功能描写叙述 sort 对给定区间全部元素进行排序 stable_sort 对给定区间全部元素进行稳定排序 partial_sort 对给定区间全部元素部分排序 partial_sort_copy 对给定区间复制并排序 nth_element 找出给定区间的某个位置相应的元素 is_sorted 推断一个区间是否已经排好序 p

【T-SQL系列】新的排序函数

原文:[T-SQL系列]新的排序函数 如:ROW_NUMBER.RANK.DENSE_RANK三个分析函数都是按照col1分组内从1开始排序 ROW_NUMBER() 是没有重复值的排序(即使两天记录相等也是不重复的),可以利用它来实现分页 DENSE_RANK() 是连续排序,两个第二名仍然跟着第三名RANK() 是跳跃拍学,两个第二名下来就是第四名 示例: DECLARE @t1 TABLE ( Sequence INT , Name VARCHAR(20) , Score INT ) IN

Sql Server系列:排序函数

在SQL Server中有4个排序函数:ROW_NUMBER().RANK().DENSE_RANK()及NTILE()函数. 1. ROW_NUMBER()函数 ROW_NUMBER()函数为每条记录添加递增的顺序数值序号,即使存在相同的值也递增序号. 示例: SELECT ROW_NUMBER() OVER (ORDER BY [CategoryID] DESC) AS ROWID, [CategoryID], [CategoryName] FROM [dbo].[Category]

Oracle 高级排序函数 和 高级分组函数

高级排序函数: [ ROW_NUMBER()| RANK() | DENSE_RANK ] OVER (partition by xx order by xx) 1.row_number() 连续且递增的数字 1 2 3 4   row_number() over (partition by xx order by xx )    --学生表中按照所在专业分组,同专业内按成绩倒序排序,成绩相同则按学号正序排序,并给予组内等级select row_number() over(partition b

ROW_NUMBER() OVER 排序函数的基本用法

ROW_NUMBER() OVER 排序函数 select ROW_NUMBER() OVER (PARTITION BY guide_id ORDER BY pic_sort) as rowid,pic_id,guide_id from [D_Guides_PIC] ROW_NUMBER()从1开始,为每一条分组记录返回一个数字,这里的 ROW_NUMBER() OVER (PARTITION BY guide_id ORDER BY pic_sort) 是先把pic_sort列升序,再为升序