Lors du développement d’un script MDX, je ne comprenais pas pourquoi j’avais une erreur au parsing.
Voici le script (un condensé, évidemment) :
WITH MEMBER firstdate AS 0
SELECT {firstdate} ON 0
FROM [Adventure Works]Executing the query ...
Query (1, 13) Analyseur : La syntaxe pour 'firstdate' est
incorrecte.
Quel est le problème avec ce script ? Eh bien c’est tout simplement que mon script contient un mot clé réservé. Vous l’aurez deviné, ce mot-clé est firstdate.
Pourtant si on regarde dans la liste qui se trouve dans la MSDN (http://msdn.microsoft.com/en-us/library/ms145629.aspx), aucune trace de FIRSTDATE.
Pour se convaincre que le problème vient bien du nom du membre calculé, il suffit de changer le script pour qu’il fonctionne.
WITH MEMBER firstdate2 AS 0
SELECT {firstdate2} ON 0
FROM [Adventure Works]
Conclusion : attention aux noms de variable mais pour faire plus simple, utiliser les [] pour indiquer au parser que c’est un identifiant.