SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 887|回复: 6
打印 上一主题 下一主题

有个问题求助大家

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-10-31 14:57:52 | 只看该作者

有个问题求助大家

帮看程序先:
%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.可不可以将这个值赋给一个变量,或者其他方法,以便以后计算。
谢谢各位!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-10-31 15:34:44 | 只看该作者

Re: 有个问题求助大家

proc sql noprint;
    select a into : var from b where c = 1;
quit;
%put &var;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2008-10-31 15:43:36 | 只看该作者

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.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2008-10-31 16:17:48 | 只看该作者

Re: 有个问题求助大家

你生成了一个宏变量rate,所以引用的时候应该用&rate, 而不是rate.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2008-10-31 18:43:21 | 只看该作者

Re: 有个问题求助大家

改过来也不行,这问题麻烦,有哪个高手有更好的办法啊???
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2008-10-31 19:24:23 | 只看该作者

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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2008-11-1 00:41:21 | 只看该作者

Re: 有个问题求助大家

很感谢urchin。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 04:45 , Processed in 0.067157 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表