I have the following outputs data:
resul_201901
resul_201903
resul_201906
resul_201909
resul_201912
resul_202001
resul_202106
resul_202203
How to join all of them, since the way I'm doing it doesn't work:
data Resul_end;
set resul_201901-resul_202203;
run;
Is there a way to do without quoting all?
This does not join the tables. It merely stacks them.
Please provide sample data in usable form if you want a usable code answer 🙂
Build the list with SQL from the DICTIONARY.TABLES dataset:
proc sql noprint;
select memname into :sets separated by " "
from dictionary.tables
where libname="WORK" and memname like "RESUL_20%"
order by memname;
quit;
data Resul_end;
set &sets.;
run;
If those are ALL the Resul_ files in the library:
The : at the end of a base name will build a list of all names that start with those characters
data want; set resul_: ; run;
If you have more apparent years and want ALL the sets from 2019, 2020, 2021 and 2022
data want; set resul_2019: resul_2020: resul_2021: resul_2022: ; run;
but if you want a random selection not likely to be much of a short cut list possible.
Note Resul_20: would reference all datasets with a year starting with 20 but can't tell if that is helpful.
Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.
Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.
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.