楼主: harlon1976
744 4

[问答] 宏变量的使用 [推广有奖]

  • 2关注
  • 27粉丝

版主

院士

54%

还不是VIP/贵宾

-

威望
1
论坛币
33781 个
通用积分
135.1232
学术水平
25 点
热心指数
39 点
信用等级
17 点
经验
59249 点
帖子
1928
精华
0
在线时间
4352 小时
注册时间
2005-8-27
最后登录
2025-12-9

楼主
harlon1976 发表于 2022-1-23 17:48:46 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如下程序,请高人指点,谢谢!
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;

二维码

扫码加我 拉你入群

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

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

关键词:proc sql Teacher Select Where Elect

回帖推荐

learsaas 发表于4楼  查看完整内容

是的,count(*) into的时候

沙发
learsaas 发表于 2022-1-25 08:29:42
mr1-:mr%left(&nrows)

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

板凳
learsaas 发表于 2022-1-25 13:46:25
是的,count(*) into的时候

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

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-9 06:28