SAS中文论坛

标题: 有个问题求助大家 [打印本页]

作者: shiyiming    时间: 2008-10-31 14:57
标题: 有个问题求助大家
帮看程序先:
%macro rate(type,promise);
proc sql;
select rate
from bank_rate as n
where &promise eq n.promise and &type=n.type;
%mend rate;
我要做的:我想引用spl过程检索到的rate值,在以后进行相应的计算。比如说我调用%rate(5,3);得到结果是0.0072.可不可以将这个值赋给一个变量,或者其他方法,以便以后计算。
谢谢各位!
作者: shiyiming    时间: 2008-10-31 15:34
标题: Re: 有个问题求助大家
proc sql noprint;
    select a into : var from b where c = 1;
quit;
%put &var;
作者: shiyiming    时间: 2008-10-31 15:43
标题: Re: 有个问题求助大家
问题在於,我想在我想在宏外面应用
%macro rate(type,promise);
proc sql;
select rate into : rate
from bank_rate as n
where &promise eq n.promise and &type=n.type;
%mend rate;
%rate(5,3);
%put rate;
报错:WARNING: Apparent symbolic reference RATE not resolved.
作者: shiyiming    时间: 2008-10-31 16:17
标题: Re: 有个问题求助大家
你生成了一个宏变量rate,所以引用的时候应该用&rate, 而不是rate.
作者: shiyiming    时间: 2008-10-31 18:43
标题: Re: 有个问题求助大家
改过来也不行,这问题麻烦,有哪个高手有更好的办法啊???
作者: shiyiming    时间: 2008-10-31 19:24
标题: Re: 有个问题求助大家
Be aware of the scope of your macro symbol. &rate was created local but you're trying to reference it out of its scope. you may add a %global statement within your macro.
[url:1zvlod3m]http://www.technion.ac.il/docs/sas/macro/z1072111.htm[/url:1zvlod3m]
作者: shiyiming    时间: 2008-11-1 00:41
标题: Re: 有个问题求助大家
很感谢urchin。




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2