
Rick A. answered 04/22/19
Experienced SAS Professional
Here's one solution involving 3 sample datasets named data1, data2 and data3. The macro call can be changed to any starting and ending number, such as (1,60)
/* create sample datasets 1 - 3 */
data data1;
input month $ id $;
datalines;
jan2014 001
jan2014 002
;
run;
data data2;
input month $ id $;
datalines;
feb2014 001
feb2014 002
;
run;
data data3;
input month $ id $;
datalines;
mar2014 001
mar2014 002
;
run;
%macro months(start,end);
%do i=&start. %to &end.;
data m;
set data&i.;
if id='002'; /*** any processing you want goes here ***/
run;
%if &i = &start. %then %do;
data temp; set m; run;
%end;
%else %do;
proc append data=m base=temp force; run;
%end;
%end;
%mend months;
%months(1,3)