2010-11-29 4 views
2

Actuellement, j'ai un champ dans une table SQL DB appelée Amount. Ce champ sera utilisé dans un rapport Reporting Services qui utilise le cube SSAS OLAP pour afficher les gagnants et les paiements. Le paiement par colonne du rapport doit utiliser ce champ (Je veux dire Montant), filtré par le statut X et les gagnants de colonne doivent utiliser ce champ (Montant aussi) filtré par le statut Y. Comment puis-je faire cela dans le cube à utiliser la même mesure représentée dans deux colonnes avec leurs valeurs filtrées?Comment faire des agrégations filtrées par un champ de filtre dans olap cube?

J'ai essayé d'utiliser les expressions de mesure, mais je ne sais pas si cette astuce pourrait aider. J'ai aussi entendu parler de mesures calculées mais je ne sais pas comment cela fonctionne.

Des idées?

Répondre

2

Ajoutez une dimension [STATUS] à votre cube contenant les membres [X] et [Y]. Cela peut être une dimension cachée. Ajouter [Montant] comme mesure et cacher cette mesure aussi.

Ensuite, ajoutez 2 mesures propres à votre cube:

[Mesures] [Paiement] avec l'expression MDX.

([Status].[Status].[X], [Measures].[Amount]) 

Et [mesures] [Les gagnants] comme

([Status].[Status].[Y], [Measures].[Amount]) 
.
+0

+1 - J'ai rencontré des problèmes de performance avec cette approche sur des cubes plus gros, donc si le vôtre est très grand, réfléchissez si cela pourrait être fait comme un calcul dans le DSV, pour matérialiser ces valeurs? – Meff

Questions connexes