Dynamically generate SET statement to combine multiple data sets
You can manually enter the data set names or use MACRO logic to generate the repetitive data set names when combining many data sets on a SET statement.
Note: Variable name lists are not valid for data sets. In other words, if you have WORK.DS1, WORK.DS2, and WORK.DS3, you can NOT specify WORK.DS1-WORK.DS3 on the SET statement.
/* names use the naming convention of DSn, where n is an incrementing /* number.
data ds1;
x=1;
run;
data ds2;
x=2;
run;
data ds3;
x=3;
run;
/* Build a macro called NAMES with two parameters. The first parameter /
* is the 'prefix' of the naming pattern. The second parameter is the /
* maximum number of data sets you want to generate on the SET statement. */
%macro names(prefix,maxnum);
%do i=1 %to &maxnum;
&prefix&i
%end;
;
%mend names;
/* Call the macro on the SET statement */
data all;
set %names(DS,3);
run;
proc print data=all;
title "Appended results";
run;
run;
Appended results
Obs x
1 1
2 2
3 3
source: www.support.sas.com
Welcome to StudySAS, your ultimate guide to clinical data management using SAS. We cover essential topics like SDTM, CDISC standards, and Define.XML, alongside advanced PROC SQL and SAS Macros techniques. Whether you're enhancing your programming efficiency or ensuring compliance with industry standards, StudySAS offers practical tips and insights to elevate your clinical research expertise. Join us and stay ahead in the evolving world of clinical data.
Discover More Tips and Techniques on This Blog
Subscribe to:
Post Comments (Atom)
Disclosure:
In the spirit of transparency and innovation, I want to share that some of the content on this blog is generated with the assistance of ChatGPT, an AI language model developed by OpenAI. While I use this tool to help brainstorm ideas and draft content, every post is carefully reviewed, edited, and personalized by me to ensure it aligns with my voice, values, and the needs of my readers.
My goal is to provide you with accurate, valuable, and engaging content, and I believe that using AI as a creative aid helps achieve that. If you have any questions or feedback about this approach, feel free to reach out. Your trust and satisfaction are my top priorities.
No comments:
Post a Comment