Rank
默认返回维度组合中,某一个元组的位置(次序),若在最后添加度量维度(维度成员),则先按照降序排列,再返回元组的位置(等级)。
语法
RANK(tuple, set [, numeric_value] )
参数
set | 返回集的有效多维表达式 (MDX)。 |
numeric_value | (可选)不指定的话,返回tuple在set中的次序,不存在返回0;指定numeric_value,返回tuple的秩,即按照numeric_value求值后降序排列,秩依次为1、2、3…;如果有set中有重复项,秩表示例:1、2、2、4、4、4、7、8… |
数学表达式
无
备注
若集合中多个元组的值相等,则位置顺序一样
示例一
with member [期间].[MyMember] as rank (([期间].&[50641]),{[期间].[2023年].[2023年1季度].Children})
select {[期间].[MyMember],[期间].&[50640],[期间].&[50641],[期间].&[50642]} on rows, {[科目].&[50215]} on columns from [模型一]
where ([场景].&[50685],[产品].&[50688],[版本].&[50672],[组织].&[50585])
运行结果:
产品 : 不分
场景 : 累计预算
版本 : 年初编报01版本
组织 : 开发2部
期间 | 工资-管理费用合计 |
MyMember | 2.00 |
2023年1月 | 200.00 |
2023年2月 | -100.00 |
2023年3月 | 100.00 |
期间成员[2023年2月]位于集合[2023年1季度]中的第二个位置,所以结果为2。
示例二
with member [期间].[MyMember] as rank (([期间].&[50641]),{[期间].[2023年].[2023年1季度].Children},[组织].&[50585])
select {[期间].[MyMember],[期间].&[50640],[期间].&[50641],[期间].&[50642]} on rows, {[科目].&[50215]} on columns from [模型一]
where ([场景].&[50685],[产品].&[50688],[版本].&[50672],[组织].&[50585])
运行结果:
产品 : 不分
场景 : 累计预算
版本 : 年初编报01版本
组织 : 开发2部
期间 | 工资-管理费用合计 |
MyMember | 3.00 |
2023年1月 | 200.00 |
2023年2月 | -100.00 |
2023年3月 | 100.00 |
在期间维度[2023年1季度]集合中,[2023年1月]、[2023年2月]、[2023年3月]的值为200、-100、100,维度成员[2023年2月]在集合[2023年1季度]中按降序排列为3,所以所以结果为3。