全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2462 8
2013-02-04
在以宏变量nobs取得观测值数量(主要使用select count语句)后,进行除法运算时,出现了问题
在下猜测可能是宏变量类型不对
有没有什么办法可以调试的呢?

%let nobs=%str(proc sql; select count(*) from work.a;quit;);&nobs;
以上确实能取到当年数据集的观测值数量,但是在引用该数量进行运算时出错了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-2-4 11:24:54
可不可以直接引用nobs,比如

proc sql;
select count(*) into : nobs from sashelp.class;
quit;

%put &nobs;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-4 12:51:05
楼上正解。
楼主,你的nobs宏变量只是%str()里面的那一串文本,而在output里出现的所谓的能够取到的观测值数量只是运行了那段文本的结果,所以你的&nobs自然不能运用于计算。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-4 12:53:03
%let nobs=%sysfunc(attrn(%sysfunc(open(sashelp.class)),nobs));

%put &nobs;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-4 14:04:32
如果你前面已以用过SQL处理过。可以考虑用&sqlobs.

for example:

proc sql;
select *
from sashelp.class;
quit;

%put &sqlobs;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-4 15:43:04
tangliang0905 发表于 2013-2-4 11:24
可不可以直接引用nobs,比如

proc sql;
确实可以,谢谢啦。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群