2017-03-31 1 views
0

Je suis en train d'écrire LYQTD et LYYTD mesure la requête mdx pour montrer les données de l'année précédente sur la base de la date actuelle sélectionnée filtre ces mdx fonctionnent très bien mais je ne suis pas capable d'agréger Année dernière à ce jour et les données du dernier trimestre à ce jour. par exemple: - Je veux filtrer les données pour LYQTD et LYYTD.Je ne suis pas capable d'additionner les données LYQTD et LYYTD

Ce sont là quelques exemples de vente de données pour différents mois:

Jan 1000 
Feb 5000 
Mar 1000 Quarter1 
apr 2000 
May 4000 
Jun 6000 Quarter2 
Jly 8000 
Aug 6000 
Sep 4500 Quarter3 
Oct 6500 
Nov 9000 
Dec 2000 Quarter4 

Maintenant, je veux agréger ces données sur la base du filtre sélectionné par exemple je suis sélectionner mois Jan

LYQTD LYYTD 
1000 1000 

maintenant je sélectionne février mois les mesures seront agrégées avec le filtre de sélection précédent

LYQTD LYYTD 
6000 6000 

Maintenant, je choisissais mois trimestre2 les données ApR se montre comme

LYQTD LYYTD 
2000 8000 

Mon appliqué requêtes comme mentionné ci-dessous s'il y a une solution s'il vous plaît me aider.

CREATE MEMBER CURRENTCUBE.[Measures].ActualsLYQTD 
AS 
AGGREGATE(PARALLELPERIOD([Time].[Time].[Quarter],4,[Time].[Time].CURRENTMEMBER), 
[Measures].[Revenue and Expenses]), 
VISIBLE = 1 , ASSOCIATED_MEASURE_GROUP = 'Actuals' ; 


CREATE MEMBER CURRENTCUBE.[Measures].ActualsLYYTD 
AS 
AGGREGATE(PARALLELPERIOD([Time].[Time].[Year],1,[Time].[Time].CURRENTMEMBER), 
[Measures].[Revenue and Expenses]), 
VISIBLE = 1 , ASSOCIATED_MEASURE_GROUP = 'Ac``tuals' ; 
+0

On ne sait pas ce qui ne va pas ici, pourriez-vous s'il vous plaît fournir plus de représentations visuelles? –

+0

Salut J'ai l'exigence, l'année précédente jusqu'à la même date que YTD est de retomber les résultats par exemple si les enregistrements dans mon tableau est présent du 1-jan-2016 au 9-mai-2016 alors cette année YTD calculera jusqu'au 9-mai -2016 (cela fonctionne bien) et l'année précédente YTD devrait également calculer jusqu'à 9 mai 2015 à partir du 1er janvier 2015 pas pour l'année entière ou le mois entier. Mdx pour LYQTD et LYYTD sont mentionnés ci-dessus. –

+0

Vous devez utiliser la fonction ParallelPeriod() pour obtenir le même membre avec des parents parallèles. –

Répondre

0

Vous devez utiliser ParallelPeriod() pour obtenir le même membre un an avant, PeriodToDate() pour obtenir un ensemble depuis le début de l'année jusqu'à ce que membre actuel, Aggregate() à obtenir la valeur agrégée de [Mesures]. [Revenus et dépenses] par rapport à l'ensemble.

Aggregate(
    PeriodToDate(
     [Time].[Time].[Year], 
     ParallelPeriod(
      [Time].[Time].[Year], 
      1, 
      [Time].[Time].CurrentMember 
     ), 
    ), 
    [Measures].[Revenue and Expenses] 
) 
+0

Merci pour votre présence, c'est vraiment utile. –

+0

Veuillez le vérifier afin de faire savoir aux autres que votre problème est résolu. –