我使用了以下内容:帐户捆绑行列
WITH
SET [myset] AS
Order
(
{
[Customer].[Country].[Country].MEMBERS
*
[Customer].[Customer].[Customer].MEMBERS
}
,[Measures].[Internet Sales Amount]
,ASC
)
MEMBER [Measures].[rank] AS
Rank
(
(
[Customer].[Country].CurrentMember
,[Customer].[Customer].CurrentMember
)
,[myset]
)
MEMBER [Measures].[newrank] AS
IIF
(
[myset].Item(
[Measures].[rank] - 1).Item(0).Name
<>
[myset].Item(
[Measures].[rank] - 2).Item(0).Name
,1
,
([myset].Item([Measures].[rank] - 2),[Measures].[newrank]) + 1
)
SELECT
{
[Measures].[Internet Sales Amount]
,[Measures].[rank]
,[Measures].[newrank]
} ON 0
,[myset] ON 1
FROM [Adventure Works];
这是阿米什沙阿的工作:它不给具有相同价值同级别例如元组http://blog.sqltechie.com/2010/03/rank-with-partitioning-mdx.html
目前如果x的互联网销售额为10,y也有10,则上面他们的排名不会相同。
以上可以更改,如果它们具有相同的值,那么它们具有相同的值[Measures].[rank]
- 也是相同的值为[Measures].[newrank]
?
(添加第三参数转换的[Measures].[rank]
定义似乎并不像一个可能的路线进行作为Rank函数然后进入CEL-受到小区计算模式)
Upvoted为其提供的纯粹挑战 – SouravA