What is the most efficient to create a dataset that has the names of all datasets in a given library?
Querying dictionary.tables
An example:
proc sql;
create table WorkDatasets as
select memname
from dictionary.tables
where libname='WORK'
;
QUIT;
Sometimes dictionary tables perform slowly because there are lots of libraries and tables and/or some libraries point to external databases. PROC DATASETS can be a lot faster. This example uses ODS to create a dataset CONTENTS containing a list of all tables in the WORK library.
proc datasets library = WORK nolist;
contents data = _ALL_ nods;
ods output members = contents (rename = (name = memname));
run;
ods output close;
quit;
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.