- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 04-28-2009 03:36 PM
(968 views)
I am trying to create a macro that will read all the data from every dataset in a library. I already have a program that gives the proc contents in the exact order of the CRF but am unsure how to actually open the datasets generically without naming them. I would then like to merge the opened datasets with the order of the contents program by the datasetname and variable name. Basically I want a report that will give all the output in exact order of CRF to do a qc of whats on the CRF and what has been entered in the database. I am using clinical software so the libname is always pointed to study directory. This needs to be generic so that it can be run by anyone on any study created in the db. Im fairly new to macros and any help would be great.
Thanks
Thanks
1 REPLY 1
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
your proc contents stores in a dataset (dset1) the different existing datasets.
now you have to know the dataset names. In the proc sql you'll put the dataset names into dset macrovariable. For each observation sas will add in dset the dataset name found seperated by a space.
proc sql;
select into:dset seperated by " " from dset1;
quit;
Now you have everything;
data all;
set &dset;
run;
now you have to know the dataset names. In the proc sql you'll put the dataset names into dset macrovariable. For each observation sas will add in dset the dataset name found seperated by a space.
proc sql;
select
quit;
Now you have everything;
data all;
set &dset;
run;