- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 07-19-2018 08:36 PM
(850 views)
SAS 9.3
Is there a way to subset data where you select variables to include that have a certain number of letters occurring in them in a particular order?
For instance, I want to select, out of a long list of variables the ones ending in 'RR'
s1_dg_tif_FAD | s1_dg_tif_NAD | s1_dg_tif_RR |
---|
3 REPLIES 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
First us the metadata in dictionary.columns to identify the variables of interest, and save them as a space-separated list in a macrovar named VARLIST:
proc sql noprint;
select distinct name into :varlist separated by ' '
from dictionary.columns
where libname='WORK'and memname='HAVE'
and name like "_RR";
quit;
%put &=varlist;
Then use that macrovar for your objective:
data want;
set have (keep=&varlist);
run;
--------------------------
The hash OUTPUT method will overwrite a SAS data set, but not append. That can be costly. Consider voting for Add a HASH object method which would append a hash object to an existing SAS data set
Would enabling PROC SORT to simultaneously output multiple datasets be useful? Then vote for
Allow PROC SORT to output multiple datasets
--------------------------
The hash OUTPUT method will overwrite a SAS data set, but not append. That can be costly. Consider voting for Add a HASH object method which would append a hash object to an existing SAS data set
Would enabling PROC SORT to simultaneously output multiple datasets be useful? Then vote for
Allow PROC SORT to output multiple datasets
--------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Will give it a shot thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
to match names ending in "_RR", use the condition
trim(name) like "%^_RR" escape "^"
or the condition
prxmatch("/_RR$/i", trim(name))
PG