- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
For ex:- there are 16 variables in x dataset. If we use proc contents , we can see all the variables in the output window.
But, if I want to insert all these variables into one single macro variable, is there any way.
If i call that macro variable, we need to get all the 16 variables.
Any help is appreciated.
Thanks in advance,
Mano.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
If you want the variable names separated by spaces you get that from the output of PROC CONTENTS.
proc contents data=x noprint out=contents; run;
proc sql noprint ;
select name into :varlist separated by ' '
from contents ;
quit;
%put Variables are: &varlist ;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
do you want any kind of delimiter, like for the heading of a CSV file?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
do you want variables or variable values?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
If you want the variable names separated by spaces you get that from the output of PROC CONTENTS.
proc contents data=x noprint out=contents; run;
proc sql noprint ;
select name into :varlist separated by ' '
from contents ;
quit;
%put Variables are: &varlist ;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Tom.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
skip the contents
%let Lib_Data = sashelp.class;
PROC SQL; select Name
into :List_names separated by ' '
from dictionary.columns
where Libname eq "%upcase(%scan(&Lib_Data,1,.))"
and Memname eq "%upcase(%scan(&Lib_Data,2,.))"
;
quit;
%put note: list_names = &List_names;