Hello,
Je voudrais créer une variable macro (dt_deb_m_1) qui prenne la valeur « 01/09/2020 » par calcul à partir d’une autre variable macro (dt_deb) qui vaut « 01/10/2020 » par exemple
L’idée est de pouvoir enlever/ajouter « x » mois à la variable macro initiale.
J’ai tenté le code suivant mais je n’ai pas le résultat attendu …
Qui a une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 %let aaaamm = 202010; /* le paramètre en entrée */ %let annee = %substr(&aaaamm,1,4); /* 10 */ %let mois = %substr(&aaaamm,5,2); /* 2020 */ %let dt_deb = %sysfunc(putn(%sysfunc(mdy(&mois.,1,&annee.)),ddmmyy10.)); /*01/10/2020*/ %put &dt_deb; %let dt_deb_m_1 = %sysfunc(putn(%sysfunc(intnx(month,&dt_deb,-1,s)),ddmmyy10.)); %put &dt_deb_m_1; /* 01/12/1959 ???? un jour de moins avant linit des dates SAS */
Partager