2012-07-26 4 views
3

Y at-il de toute façon que nous pouvons obtenir le top 10 à travers la hiérarchie au lieu de haut niveau dans MDX. Je voudrais écrire une requête MDX qui tire le top 10 à chaque niveau de la hiérarchie. S'il vous plaît laissez-moi savoir si c'est possible.MDX requête top 10 sur plusieurs niveaux

hiérarchie ressemble à quelque chose comme ci-dessous:

  • Régions (obtenir Top 10)
    • Pays (obtenir Top 10)
      • États (obtenir le top 10)
        • Villes (get top 10)
          • Donc sur ...
+0

Voulez-vous le Top 10 des pays pour chacune des 10 premières régions? – Benoit

Répondre

2

Si vous voulez obtenir le top 10 sur un niveau, vous pouvez utiliser

TopCount([your dimension].[Regions].Members, 10, 'your measure') 
TopCount([your dimension].[Countries].Members, 10, 'your measure') 
... 

Si vous voulez obtenir le top 10 des régions avec leur top 10 pays ... Vous pouvez utiliser DrilldownLevelTop:

DrilldownLevelTop(TopCount([your dimension].[Regions].Members, 10, 'your measure'), 10,, 'your measure') 

Vous devez ajouter un autre DrilldownLevelTop autour de l'expression précédente si vous souhaitez obtenir les membres sur les autres niveaux.

+0

Merci beaucoup Benoit. Cela a fonctionné pour moi. – user346514

+0

La requête fonctionne correctement dans SQL Server, mais si j'utilise la même requête dans le point de performance j'obtiens le message d'erreur "Type d'exception: InvalidOperationException Message d'exception: Erreur lors de la sérialisation ou désérialisation utilisant le JavaScriptSerializer JSON. la valeur définie sur la propriété maxJsonLength. "Toute idée à ce sujet. J'ai changé le fichier web.config mais pas de chance. – user346514

+0

@ user346514 Vous devez modifier la propriété '' maxJsonLength''. (Je ne sais pas comment faire cela) – Benoit

Questions connexes