全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
745 4
2022-01-23
如下程序,请高人指点,谢谢!
data a;
input name$ id$ paid$ class teacher$@@;
cards;
jhon  dd  Y 1 rr
hon   de  Y 1 rr
hobe  ef  N 2 re
hodd  en  N 2 re
lldg  el  Y 3 rf
lldd  ew  Y 3 kk
;
proc sql;
select count(*) into:nrows
from a
where class=3;
select *
from a
where class=&nrows;  /*此处nrows可以使用,程序没有问题*/
%let nro=&nrows;
select  id  into :mr1-:mr&nrows   /*此处nrows不可以使用,程序有问题,但nrows改为nro就可以了,为啥这里要重新令值才可以用,而前面的那个直接可以使用*/
from a
where class=3
;quit;
%put &nrows &nro;

二维码

扫码加我 拉你入群

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

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

全部回复
2022-1-25 08:29:42
mr1-:mr%left(&nrows)
二维码

扫码加我 拉你入群

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

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

2022-1-25 12:22:27
learsaas 发表于 2022-1-25 08:29
mr1-:mr%left(&nrows)
的确可以解决这个问题了,请高人解释一下原理,%left函数删除前面的空格,难道&nrows解析的结果是2且2前面有空格吗?
二维码

扫码加我 拉你入群

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

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

2022-1-25 13:46:25
是的,count(*) into的时候
二维码

扫码加我 拉你入群

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

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

2022-1-25 14:14:40
learsaas 发表于 2022-1-25 13:46
是的,count(*) into的时候
非常感谢您的解惑!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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