2010-10-18 5 views
1

J'ai un OLAP cube contenant le nombre de ventes pour chacune de mes boutiques.Dans MDX, calculer le rang de vente d'un magasin donné

En utilisant MDX, comment puis-je afficher le classement d'un magasin donné?

Je suis en train de rêver à quelque chose comme ci-dessous ( ne fonctionne pas), il retournerait 8 si SomeShop est le 8ème plus vendu boutique:

SELECT RANK([Shop].CHILDREN, [Shop].[SomeShop]) from [Sales] 

Répondre

0

Voici la solution que j'ai trouvé.
Toute meilleure solution serait grandement appréciée.

WITH MEMBER [Measures].[rank] AS RANK(
     [Shop].CurrentMember, 
     Order(
     [Shop].Members, 
     [Measures].[salescount], 
     BDESC 
    ), 
     [Measures].[salescount] 
    ) 
SELECT Order(
     [Shop].Members, 
     [Measures].[salescount], 
     BDESC 
    ).Item([SomeShop]) ON COLUMNS, 
[Measures].[salescount] ON ROWS 
FROM [Sales] 
0

Vous devriez vérifier les exemples sur msdn, la le dernier exemple fonctionnera ici.
Quelque chose comme ceci:

WITH MEMBER [Measures].[rank] AS RANK([Shop].CurrentMember, [Shop].MEMBERS) 
SELECT {[Measures].[rank], ...} on 0 
ORDER([Shop].MEMBERS, [Measures].[rank], ASC) on 1 
FROM [Sales] 
+0

J'ai essayé dur mais je ne pouvais pas faire ce travail –

Questions connexes