2010-10-18 14 views
1

Je ne necessitent pas impliqué dans MDX si je ne dois, mais ....MDX/Analysis Services Calcul mois à ce jour

J'ai un cube avec une table simple fait lié à une dimension temporelle (avec date, mois, colonnes de l'année et ainsi de suite) et je veux être capable pour un jour donné du mois de calculer le total du mois à ce jour pour ce jour.

En SQL, ce serait une erreur, mais je ne suis pas sûr de la façon de réaliser cela dans MDX.

Mise à jour J'ai un exemple de travail à date fixe. Maintenant, je veux savoir comment faire pour toute date possible

WITH 
MEMBER MTD_15_Feb_2010 AS 
Aggregate 
(
    MTD([Date].[Year Name - Quarter Name - Month Name - Name].[Name].[02/15/2010]), 
    [Measures].[Value] 
) 
SELECT 
{ 
MTD_15_Feb_2010 
} ON 0 
FROM [Cube] 
+0

Si vous pouvez fournir plus de détails sur votre dimension de cube et de temps, je peux fournir un exemple MDX dans ma réponse. –

Répondre

2

Vous devriez être en mesure de créer le MDX en utilisant la fonction MTD. Il retournera l'ensemble de tous les jours à partir du premier jour du mois jusqu'au membre passé à la fonction.

Modifier: Il existe plusieurs façons de mettre à jour votre exemple pour n'importe quel jour. Je suggère de remplacer le membre de date [02/12/2010] avec la fonction CURRENTMEMBER. Cela vous permettra également d'afficher la valeur pour plusieurs dates comme dans l'exemple ci-dessous.

WITH MEMBER [MTD_Value] AS AGGREGATE (
     MTD([Date].[Year Name - Quarter Name - Month Name - Name].[Name].CURRENTMEMBER) 
     , [Measures].[Value] 
    ) 
SELECT [MTD_Value] ON 0 
    , { 
     [Date].[Year Name - Quarter Name - Month Name - Name].[Name].[02/15/2010] 
     , [Date].[Year Name - Quarter Name - Month Name - Name].[Name].[01/15/2010] 
     , [Date].[Year Name - Quarter Name - Month Name - Name].[Name].[02/15/2009] 
    } ON 1 
FROM [Cube] 
+0

Voir la mise à jour. À votre santé – AJM