Je voudrais écrire un KPI dans SSAS qui me donne la moyenne de l'âge de tous les employés. La date de naissance de l'employé est Dim_Employee. J'ai lu 3 livres pleins de recommandations de gestion de date et d'heure de MDX déjà, mais aucun d'eux n'a fonctionné. Avec des heures d'essais et d'erreurs désespérés, j'ai essayé d'innombrables combinaisons avec la solution sans succès.Utilisation de DateDiff dans SSAS MDX
La date de naissance est datetime (null) dans la base de données source. La solution que j'ai essayé est la suivante:
VBA!DateDiff("yyyy", now(), [Employee].[BirthDate].CurrentMember.Member_Value)
Bien sûr, je devrais utiliser [Date].[Date].CurrentMember
au lieu de now()
, mais, pour simplifier utilisé cela.
Dans la dimension Employé, j'ai créé un ValueColumn avec le type de données Date. Lorsque je tente de l'exécuter dans Management Studio, il me rend l'erreur suivante:
"The Axis0 function expects a tuple set expression for the argument. A string or numeric expression was used."
Quand je ne l'utilise Member_Value, il redonne nul, et DateDiff redonne -2010
. Parce que je ne suis pas responsable de la structure du cube où je voudrais écrire ce KPI, je recherche une solution qui ne nécessite pas de nouvelles mesures, dimensions du tout. (cependant s'il n'y a pas de solution sans ajouter de nouveaux éléments au cube, je proposerai bien sûr une demande de changement dans le cube donné)
Quelle est la solution dans ce cas? Est-il possible d'écrire ce KPI sans utiliser de Mesures supplémentaires?
Félicitations pour la solution. Lorsque vous êtes en mesure de le faire, assurez-vous de marquer votre réponse comme «acceptée» afin que d'autres puissent tirer des leçons de votre succès. Cheers ~ –