Hi,
I need to drop a bunch of variables ending with either _xx or _xy. How to do it in SAS? the colon ":" seems only working for starting letters.
Thanks in advance.
Thanks,
Sunny
data test;
a=1;
b=1;
_xx=2;
_xy=3;
run;
proc sql;
select distinct name into :name separated by ' ' from dictionary.columns where libname='WORK' AND MEMNAME='TEST' AND prxmatch('/(_xx|_xy)$/io',TRIM(name))=0;
QUIT;
data want;
set test (keep=&name);
run;
hello,
something like this :
proc sql noprint;
select name into :vars separated by ' ' from sashelp.vcolumn
where memname='CLASS' and libname='SASHELP' AND name like '%e';
quit;
%put &vars;
data want;
set sashelp.class (drop=&vars) ;
run;
Many thanks Loko!
data test;
a=1;
b=1;
_xx=2;
_xy=3;
run;
proc sql;
select distinct name into :name separated by ' ' from dictionary.columns where libname='WORK' AND MEMNAME='TEST' AND prxmatch('/(_xx|_xy)$/io',TRIM(name))=0;
QUIT;
data want;
set test (keep=&name);
run;
Many thanks kuo!
Learn how to use escape character.
data test;
a=1;
b=1;
_xx=2; xx=22;
_xy=3; yy=33;
run;
proc sql;
select distinct name into : name separated by ' '
from dictionary.columns
where libname='WORK' AND MEMNAME='TEST' AND
(lowcase(name) like '%~_xx' escape '~' or
lowcase(name) like '%~_xy' escape '~' );
QUIT;
data want;
set test (drop=&name);
run;
Xia Keshan
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.