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.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.