Good morning, I'm coding a macro to create all the month-year between two dates and concatenate them with a string. When I write it without macro, it works: %let start_date=01jan2013;
%let end_date=01dec2019;
%let mylib = "SCCOMOTR.Vinculacion2_";
data want_date;
date="&start_date"d;
do while (date<="&end_date"d);
output;
date=intnx('month', date, 1, 's');
end;
format date YYMMN6.;
run;
data want_date;
set want_date;
new_var= &mylib || put(date,YYMMN6.);
run;
PROC SQL;
SELECT new_var INTO :output SEPARATED BY " "
FROM want_date;
QUIT;
%put &output.; but when I want to convert it to a macro, it fails: %MACRO createStringWithTables (start_date, end_date, mylib);
%global output;
data want_date;
date="&start_date"d;
%do %while (date<="&end_date"d);
output;
date=intnx('month', date, 1, 's');
%end;
format date YYMMN6.;
run;
data want_date;
set want_date;
new_var= &mylib || put(date,YYMMN6.);
run; PROC SQL;
SELECT new_var INTO :output SEPARATED BY " "
FROM want_date;
QUIT;
%mend;
%createStringWithTables(01jan2010, 01dec2019, BaseDeDades_) Could you help me to find the bug? Thank you in advance
... View more