Hello,
I am using SAS Enterprse MIner 13.1 and am working inside of a SAS Code Node. I have a piece of code that I would like to apply repeatedly to different tables.
Example:
I have multiple tables (there could be a different number of these tables each time my code is ran) they are named Work_1, Work_2, Work_3, etc. They all have the same number of columns with the same names. My final goal is a table with the output of every SurveySelect statement (sample_HALT_1 UNION ALL sample_HALT_2, etc.) .
The process that I would like to perform on each of these tables is:
proc means data=Work._1 noprint;
var Diff_MinSS_IndSS;
output out=sample_HALT_1 mean=ha_mean;
run;
data _null_;
set sample_HALT_1;
call symputx('SS_HALT', ha_mean);
run;
%put macro variable SS_HALT: &SS_HALT;
PROC SURVEYSELECT DATA=WORK._1 OUT=sample_HALT_1 METHOD=SRS
Sampsize= &SS_HALT ;
RUN;
Any help would be greatly appreciated!
Thanks,
Natasha
1. No macros required, use BY GROUP processing.
2.
data work_all;
set work_: indsname=source;
dsn = source;
run;
Then in your next steps add a BY statement using the DSN variable.
For sample size you can provide the dataset instead of a macro variable so the output from proc means can feed directly into SURVEYSELECT. You may want to round the numbers to a whole number.
1. No macros required, use BY GROUP processing.
2.
data work_all;
set work_: indsname=source;
dsn = source;
run;
Then in your next steps add a BY statement using the DSN variable.
For sample size you can provide the dataset instead of a macro variable so the output from proc means can feed directly into SURVEYSELECT. You may want to round the numbers to a whole number.
Thank you so much for your response! This suggestion allowed me to greatly simplify the process I was building.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.