2010-12-02 5 views
0

Je voulais avoir des résultats quelque chose comme ceci:mesures calculées dans MDX ne fonctionne pas

ville recettes zip x

A | 1 | 2000 | 10000

A | 2 | 3000 | 10000

A | 3 | 5000 | 10000

B | 6 | 1500 | 3000

B | 9 | 1500 | 3000

Pour obtenir les résultats, je l'ai écrit cette déclaration mdx, mais revenus et X arrivent en même. Je pensais que le revenu serait agrégé sur la ville seulement et pour chaque zip, la valeur serait la même parce que la ville associée à la fermeture éclair est la même. Je me demande si n'importe quel corps peut m'aider ici.

avec membres [mesures]. [X] comme '([Localisation]. [Ville] .currentmember, [Mesures]. [Chiffre d'affaires])'

SELECT NON EMPTY {mesures. [Revenu], [Mesures]. [X]} SUR LES COLONNES, NON EMPTY {([Lieu]. [Ville]. [Ville] * [Lieu]. [Zip]. [Zip])} SUR LES RANGS DE [État Revenus]))

Observe

Répondre

1

Vous devez spécifier explicitement que vous avez besoin du total agrégé pour le code postal. Essayez d'ajouter le DefaultMember de la hiérarchie [zip] dans le tuple, comme suit:

with member [Measures].[X] as '([Location].[City].currentmember, [Location].[Zip].DefaultMember, [Measures].[Revenue])' 

SELECT NON EMPTY { Measures.[Revenue], [Measures].[X]} ON COLUMNS, NON EMPTY { ([Location].[City].[City]*[Location].[zip].[zip]) } ON ROWS FROM [State Revenue])) 

La fonction DefaultMember représente l'élément (All), sauf indication contraire.