2009-02-09 3 views
2

Je suis nouveau MDX expressions et des requêtes et je suis actuellement à la recherche de quelque chose comme ça -MDX Query/Expression ne fonctionne pas

je dans le tableau Fact deux dates « Date1 » & « Date2 » en tant que clés étrangères DATE dimension. Je dois faire un count of rows where Date1 < Date 2, en tenant compte du fait que je ne veux pas compter NULLS. J'ai écrit une expression quelque chose comme ceci -

WITH MEMBER [Measures].[RecordCount] AS 
COUNT(FILTER([Measures].[RecordCount], IIF([Date1].[Date] <= [Date2].[Date],0,1)=1)) 
SELECT [Measures].[RecordCount] ON 0 
FROM [MYCUBE] 

Les requêtes ci-dessus s'exécutent correctement, mais le nombre s'avère incorrect. J'ai créé 7 lignes dans ma table de faits où Date1 est inférieure à Date2, mais je reçois toujours le compte comme 0.

Toute aide est appréciée. (Les sites de référence serait bon aussi pour l'avenir)

Merci, Vineet [email protected]

Répondre

2

Vous ne pouvez pas vraiment faire cela facilement dans MDX, la mesure [RecordCount] seront regroupées avant vous faites la comparaison des dates, donc vous n'obtiendrez jamais une valeur valide.

Vous feriez mieux de créer un calcul nommé dans votre DSV qui a quelque chose comme

CASE WHEN Date1 < Date2 THEN 1 ELSE NULL END 

puis créer une mesure dans vos cubes qui résume cette nouvelle colonne.

+0

Merci Darren, la solution de contournement a fonctionné pour moi. À votre santé!! – Vineet

+0

Si vous avez aimé la réponse de Darren, vous devriez la choisir comme réponse choisie. Cela aide à améliorer la qualité de stackoverflow. –