日期:2014-05-18  浏览次数:20421 次

求一条计算排名的MDX语句
排名 北京 河北 河南 山西 陕西 ......
1 中南海 红河 红塔山 白沙 熊猫
2 红河 红塔山 红河 红河 中南海 
3 白沙 中南海 白沙  
4 ... ......
5 .... ...... .

如题,想要一个各地区的产品排名结果. 
现有维度 [地区].[省].[省].members [品牌].[品牌].[品牌].members [Measures].[销售量箱]

各位大神谁以前有过求类似结果的经验,望不吝赐教. 

我做了 针对 地区维度.currentmember 的topcount(品牌)命名集 , 但是ROW上的结果是固定的member ,
想把 品牌.currentmember.Properties( 'name' ) 加进去也一直不得其法. 

谢谢了先!!!

------解决方案--------------------
select {[Measures].[销售量箱]} on columns,
Generate(topcount([地区].[省].[省].members,5,[Measures].[销售量箱]),
{[地区].[省].[省].currentmember}*topcount([品牌].[品牌].[品牌].members,5,[Measures].[销售量箱])
) on rows
from []
------解决方案--------------------
with SET OrderedCities AS Order
([门店信息].[门店简称].[门店简称].members
, [Measures].[销售量], BDESC
)
MEMBER [Measures].[City Rank] AS Rank
([门店信息].[门店简称].CurrentMember, OrderedCities)

SELECT {
[Measures].[销售量],[Measures].[City Rank]
} ON 0,
{
[门店信息].[门店简称].[门店简称]

} ON 1
FROM [KPI]