2012-10-23 3 views
0

Je suis assez nouveau à MDX et j'ai besoin d'écrire une requête qui me donne la différence de jour entre deux dates. Le problème est que les dates existent sur deux lignes différentes dans mes données. Par exemple:Comment utiliser MDX pour calculer la différence entre les dates sur des rangées séparées?

Ma table d'information:

SEAL | STARTDATE | PROCESS | FK_DATE_KEY 
1 | 2012-10-22| A | 20121022 
1 | 2012-10-24| B | 20121024 
2 | 2012-10-22| A | 20121022 
2 | 2012-10-26| B | 20121026 

Ce que je besoin est retourné:

SEAL | AGE_IN_DAYS 
1 |  2 
2 |  4 

S'il vous plaît aider .... J'avoir une dimension de date qui se rapporte à mon FK_DATE_KEY

Répondre

1

Si vous êtes nouveau à MDX, vous ne devriez pas essayer de faire ce problème en utilisant seulement MDX. Ce problème particulier est beaucoup plus facile si vous l'écrivez sous SQL et utilisez ces données dans vos Analysis Services. Donc, la façon la plus simple et la plus simple de résoudre ce problème est d'écrire une vue qui renvoie les mêmes données que celles que vous avez données dans votre question. (SEAL | AGE_IN_DAYS) Ensuite, vous êtes en mesure d'insérer ces données dans votre vue de source de données (si vous choisissez « nouvelle requête nommée », vous pouvez chercher des fonctions table aussi, non seulement des vues et tables)

Hope it helps!

+0

Merci beaucoup! Une autre solution consiste à ajouter startdate comme un float à la table Fact, puis dans mon rapport j'utilise la fonction de recherche entre les deux ensembles de données (un pour chaque processus) et faire une différence de date sur les flottants castés comme dates. Merci beaucoup, très apprécié! –

Questions connexes