Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

quantité de ligne ssas mdx divisée par SOMME

OK ! Je pense que je comprends ce que vous voulez essayer ceci. Avec racine vous pouvez obtenir le Tout de toutes les dimensions.

Divide(
  [Measures].[Sales Line Amount AC Budget hidden]
 ,AGGREGATE(
   Root()
  ,[Measures].[Sales Line Amount AC Budget hidden]
  )
)

MODIFIER :

Ne pensez pas qu'il existe un moyen assez simple de le faire. Peut-être jeter un œil à Axis(1) au lieu de root.

Je n'ai pas essayé cela dans un cube uniquement dans une requête... et ça marche...

Divide(
  [Measures].[Sales Line Amount AC Budget hidden]
 ,AGGREGATE(
   Axis(1)
  ,[Measures].[Sales Line Amount AC Budget hidden]
  )
)

EDIT2 :

Puisque vous voulez que cela fonctionne avec Excel. Il n'y a pas de moyen clair de le faire fonctionner sans savoir exactement quelles dimensions vous voulez "pondérer". Excel fonctionne avec les sous-cubes, cela signifie que la fonction Axe renvoie en fait TOUS les membres de cet axe.

Il n'existe aucun moyen de savoir exactement quels membres sont réellement affichés dans MDX. Cela devrait être un calcul côté client.

Vous pouvez en fait le faire très facilement dans EXCEL en sélectionnant simplement le champ allant à OPTION et en allant dans "Afficher les valeurs en tant que". Avec "% Grand Total" vous donnera exactement le pourcentage que vous recherchez.