日期:2014-05-17  浏览次数:20419 次

求一条计算排名的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]