Je veux créer une macro SAS qui prend une date littérale (par exemple, '31mai2011'd) comme paramètre. Dans la macro, je veux transformer cette date en une valeur de date SAS (par exemple, 18778).
%macro transLiteralDate2Value(literal=);
%put literal = &literal.;
%put sasdatavalue = ???; /* how to calculate this value ? */
%mend;
%transLiteralDate2Value(literal='31may2011'd);
Existe-t-il un moyen élégant d'y parvenir ? Bien sûr, je pourrais le faire en analysant la chaîne littérale, mais je pense qu'il doit y avoir un meilleur moyen.
J'utilise SAS 9.1.3