|
楼主

楼主 |
发表于 2012-3-7 05:17:16
|
只看该作者
帮忙看一下问题在哪?
data a;
input abc_dr_d1 xyz_cd_mn_d2;
cards;
12 4
. 7
29 15
-2 .
;
run;
%macro a(var=,dout=);
%let v1=abc_dr_dd;
/*%let v2=xyz_cd_mn_d;*/
proc sql;
create table &dout. as
select *,(case when &var.>0 then '>0' when &var.=0 then '=0'
when &var.=. then 'missing' else '<0' end) as catx('_',scan(&v1.,1),scan(&v1.,3))
from a;
quit;
%mend;
%a(var=abc_dr_d1, dout=d1)
在这个code中,catx('_',scan(&v1.,1),scan(&v1.,3)) (取一头一尾2个字符串:abc_d1)总有问题,但不知道怎么改?
请指点一下,谢谢! |
|