SAS中文论坛
标题:
请帮忙看以下这个macro,错在哪里?
[打印本页]
作者:
shiyiming
时间:
2012-11-24 03:55
标题:
请帮忙看以下这个macro,错在哪里?
%macro d_check(din=,fn=);
proc sql;
create table a as
select * from &din. having %sysfunc(upcase(name))="%sysfunc(upcase(&fn.))";
quit;
%mend;
%d_check(din=sashelp.class,fn=jane)
在sashelp.class中,是存在这个'Jane'名字的,e.g. proc sql; create table a as select * from sashelp.class having upcase(name)='JANE'; quit;
但不知道为何这个macro程序就无法实现?
请问,错在哪里,请帮忙指点一下。
谢谢!
作者:
shiyiming
时间:
2012-11-24 09:38
标题:
Re: 请帮忙看以下这个macro,错在哪里?
变量name不是宏变量,故不用宏函数%upcase,而%upcase是可以直接使用的宏函数,Proc sql中转换大小写有专用函数upper和lower
%macro d_check(din=,fn=);
proc sql;
create table a as
select * from &din
having upper(name)="%upcase(&fn)";
quit;
%mend;
%d_check(din=sashelp.class,fn=jane)
作者:
shiyiming
时间:
2012-11-28 07:31
标题:
Re: 请帮忙看以下这个macro,错在哪里?
thx.
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2