The following macro gives me errors like: Invalid date/time/datetime constant '01JAN&i.'d. %macro domestic_holidays (year1, year2);
data aaa;
set HUF;
%do i= &year1. %to &year2.;
if Date in ('01JAN&i.'d, '15MAR&i.'d, '08APR&i.'d, '01MAY&i.'d,
'20AUG&i.'d, '23OCT&i.'d, '01NOV&i.'d, '25DEC&i.'d,
'26DEC&i.'d) then delete;
%end;
run;
%mend domestic_holidays;
%domestic_holidays (2007, 2018); However, when I run the code without macro, it runs fine: data aaa;
set HUF;
if Date in ('01JAN2007'd, '15MAR2007'd, '08APR2007'd, '01MAY2007'd,
'20AUG2007'd, '23OCT2007'd, '01NOV2007'd, '25DEC2007'd,
'26DEC2007'd) then delete;
if Date in ('01JAN2008'd, '15MAR2008'd, '08APR2008'd, '01MAY2008'd,
'20AUG2008'd, '23OCT2008'd, '01NOV2008'd, '25DEC2008'd,
'26DEC2008'd) then delete;
run; Where's the error in the macro? Much thanks!
... View more