data YourDataSet;
input a;
cards;
2010
2011
2012
;
run;
%macro crackman(NewDataSetName,MaxValue);
options spool;
data _null_;
set YourDataSet;
if _n_=1;
call symput("n",a);
run;
data &NewDataSetName.;
do a=&n. to &MaxValue.;
output;
end;
run ;
%mend crackman;
%crackman(crackman,2022);