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))
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.