2016-11-18 2 views
0

J'ai un ensemble de membres de certaines dimensions, disons [Dim]. [Dim]. [Dim]. Ensuite, j'ai écrit une requête qui renvoie tous les éléments de cette dimension pour l'année 2016 d'une certaine mesure, disons qu'il y en a 5.Filtre SET par currentMember.MemberCaption

La prochaine étape que je veux faire est de trouver un premier membre dans cette dimension avec le même nom (comme CurrentMember dans la ligne) mais pour 2015 année. En conséquence, je veux calculer une mesure en ce qui concerne 2015-membre, pas 2016. Donc le problème est dans la portée - Je ne peux pas GENERER un tel ensemble parce que la portée de la fonction CurrentMember sera égale à la portée de GENERATE, donc je suis incapable d'extraire le membre actuel qui est sur la ligne maintenant et pour lequel je veux trouver même précédent par nom "membres. Est-ce que je peux faire ceci avec le MDX simple ou devrais-je aller avec une solution de contournement comme trouver de tels "mêmes" éléments dans la vue de t-sql et faire des relations parent-enfant dans le cube à la main? La deuxième approche que je pense est très indésirable et laide.

Merci.

Répondre

0

Y a-t-il une raison pour laquelle vous ne pouvez pas simplement utiliser .PrevMember sur la dimension Temps (Année, je suppose)?

WITH MEMBER [Measures].[SomePrevYearCalculation] 
AS ([Time].[Year].CurrentMember.PrevMember,[Measures].[AMeasure]) 
SELECT 
{[Measures].[AMeasure],[Measures].[Some2015Calculation]} ON 0, 
[[Some complicated dimension stuff]] ON 1 
FROM Cube 
WHERE [Time].[Year].[2016] 

Vous traitez avec une dimension qui a plusieurs noms en double au niveau des feuilles, de sorte que vous ne pouvez pas faire correspondre les 2015 à 2016 chiffres par le membre de la dimension réelle?

+0

Oui, je n'ai aucune relation entre les entités. Chaque entité de la table est un identifiant unique selon l'année. Dans votre requête, je ne peux pas définir quel membre de la dimension de l'année précédente se rapporte au membre spécifique dans la rangée actuelle. Je dois le trouver par son nom. – VasiliyKapitanskiy

+0

C'est clair merci. Que diriez-vous de créer la dimension à saisir sur ce nom que vous essayez de faire correspondre? Si l'identifiant est spécifique à l'année, il ne sert à rien d'utiliser une clé de dimension pour une dimension qui sera utile dans le temps. – SebTHU