MDX查询新手求助:如何为指定Cubex多维数据集查询添加行号?
给MDX查询添加行号的解决方案
嘿,我明白作为MDX新手想给查询加行号有多头疼——别担心,这其实可以通过MDX的Rank函数轻松实现!下面是针对你的查询修改后的版本,直接就能生成带行号的输出:
WITH -- 定义计算度量,用于生成行号 MEMBER [Measures].[RowNumber] AS Rank( [dim1].[Attr Period].CurrentMember, NON EMPTY [dim1].[Attr Period].[Attr Period].ALLMEMBERS ) SELECT -- 将行号度量放到列的最前面 NON EMPTY { [Measures].[RowNumber], [Measures].[Bench], [Measures].[Act] } ON COLUMNS, NON EMPTY { ([dim1].[Attr Period].[Attr Period].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_VALUE, MEMBER_UNIQUE_NAME ON ROWS FROM [Cubex];
为什么这样可行?
- 我们新增了一个计算度量
[Measures].[RowNumber],它使用Rank函数获取当前周期成员在NON EMPTY的周期集合中的位置序号。 - 把这个行号度量放到列的最前面,就能在输出里看到每一行对应的序号了,和你原本的输出结构完美匹配。
如果你更希望行号作为行轴的一部分(而不是列),也可以用Generate函数构建包含行号和周期成员的元组集合,不过上面的方案应该最符合你的需求啦。
内容的提问来源于stack exchange,提问作者Michael Keen
相关产品推荐
相关产品推荐

