Hi community, I have come across following error when I was trying to create a macro variable. Hope you guys could help in this case. We are currently using MONTH_1 where we need to change the input each month. So I tried to create MONTH so that it will automatically run last month data. However the problem is that MONTH_1 is character, MONTH will be numeric. I tried <<<%let MONTH = %sysfunc(put(%sysfunc(intnx(month, %sysfunc(today()), -3), yymmn6.), $.);>>>, but still getting the warning that "VARIABLE HAS ALREADY BEEN DEFINED AS NUMERIC". Thanks and regards, /*Macro Variables*/
%let MONTH_1 = '202104';
%let MONTH = %sysfunc(intnx(month, %sysfunc(today()), -3), yymmn6.);
/*%let NOW = %sysfunc(today(), yymmn6.);*/
data _null_;
call symput('BEG_DATE',put(intnx('month',input(put(&MONTH.,$6.), yymmn6.),-12,'b'),yymmn6.));
call symput('RCMS_DATE',put(intnx('month',input(put(&MONTH.,$6.), yymmn6.),-13,'b'),yymmn6.));
call symput('EXTRACT',put(intnx('month',input(put(&MONTH.,$6.), yymmn6.),0,'e'),yymmn6.));
call symput('EXT_DATE',put(intnx('month',input(put(&MONTH.,$6.), yymmn6.),0,'e'),date9.));
call symput('TAB_DATE',put(intnx('month',input(put(&MONTH.,$6.), yymmn6.),-84,'b'),yymmn6.));
call symput('LAST_PERF_DATE',put(intnx('month',input(put(&MONTH.,$6.), yymmn6.),-18,'e'),date9.)); *Allowing 18 mths outcome window;
call symput('LAST_PERF_MTH',put(intnx('month',input(put(&MONTH.,$6.), yymmn6.),-18,'e'),yymmn6.)); *Allowing 18 mths outcome window;
run;
%put &BEG_DATE. &RCMS_DATE. &EXTRACT. &EXT_DATE. &TAB_DATE. &LAST_PERF_DATE. &LAST_PERF_MTH. &MONTH &MONTH_1;
... View more