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 |
---|
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;
Will give it a shot thanks
to match names ending in "_RR", use the condition
trim(name) like "%^_RR" escape "^"
or the condition
prxmatch("/_RR$/i", trim(name))
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 the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.