Hi All,
I have a datasets 3000 lets say test0001 to test3000 and the variable names are same in all the datasets. I want to append all 3000 files in to one file.
Please suggest me any short simple way to do this task.
Regards,
Anil
proc append can only handle one dataset to append.
But you can use a datastep with wildcards:
data basetest;
input x;
cards;
1
;
run;
data add0001;
input x;
cards;
2
;
run;
data add0002;
input x;
cards;
3
;
run;
data basetest;
set
basetest
add:
;
run;
First off, don't write all in upper case - I will change the subject.
Secondly why do you have 3000 datasets all the same, sounds like your running some procedure over data and outputting to separate datasets - this is not an efficient methodology and then leads to questions like yours. Look up by group processing. In your original data create a grouping variable, then do your procedure with the by group - it is faster, less coding, less disk space, and simpler to work with. E.g. I want to do means on all groups of age 1-10, 11-20, 20+
data inter; set have; length group $20; if 1 <= age <= 10 then group="Group 1"; else if 11 <= age <= 20 then group="Group 2"; else group="Group 3"; run; proc means data=inter; by group; /* key line */ var weight; output out=want n=n mean=mean; run;
This will process one dataset, by the given group, and produce one dataset with all the output needed.
If you have another point, please give full details.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.