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))
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.