Hi All,
I need to create a csv file for each of the dataset present under a library, having the data of proc content output of each dataset.
A macro will solve this, i am able to get the list the dataset with:
proc sql;
create table columns as
select distinct(memname) as table_name
from dictionary.columns
where libname = 'WRK'
;
quit;
but how to proceed to read all the file names and fetch them to generate a csv having their proc contents is what i am stuck with...
Thanks in advance!!
When you read from the sashelp tables, you can specify the filevar= option in the file statement and then dynamically assign the output filename from the table name in the input dataset. This way you can do everything in a single data step.
ie
data _null_;
set sashelp.vcolumn (where=(libname="YOURLIB"));
by memname;
if first.memname then outfilename = '$HOME/desc_' !! trim(memname) !! '.csv';
file "dummy.dat" filevar=outfilename dlm=',';
put name type length;
run;
You're probably better off reading the metadata from sashelp.vtable and sashelp.vcolumn.
Reading the metadata is not the issue, but reading it and putting it into a csv file as a loop for all the dataset within a library is the issue. A separate csv file needs to be created for the metadata of each dataset
When you read from the sashelp tables, you can specify the filevar= option in the file statement and then dynamically assign the output filename from the table name in the input dataset. This way you can do everything in a single data step.
ie
data _null_;
set sashelp.vcolumn (where=(libname="YOURLIB"));
by memname;
if first.memname then outfilename = '$HOME/desc_' !! trim(memname) !! '.csv';
file "dummy.dat" filevar=outfilename dlm=',';
put name type length;
run;
Ups, missed to correct that before posting.
Should be
file dummy filevar=outfilename dlm=',';
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.