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
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.