楼主: dushuang
1658 1

[问答] 关于SAS宏变量计数的一点问题 [推广有奖]

  • 0关注
  • 1粉丝

已卖:10份资源

大专生

1%

还不是VIP/贵宾

-

威望
0
论坛币
122 个
通用积分
0
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
260 点
帖子
21
精华
0
在线时间
29 小时
注册时间
2013-6-30
最后登录
2015-1-13

楼主
dushuang 发表于 2014-8-9 23:06:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位大神,求教一个问题。我定义一个宏变量
%let a=1;
然后执行data步,要求data步每读一条观测,就打印一下当前的a的值,然后a宏变量就加上一个1.这样的程序怎么实现啊。
再就是symput  symputx %let  select into 之间的区别。
symget  symgetn  和& 获得宏变量值的区别。

还有 data  a; call symput('x', 2); %put &x; run;
日志为什么显示没有x这样一个宏变量。
二维码

扫码加我 拉你入群

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

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

关键词:SAS宏 symput Select data步 Elect 程序

沙发
何必不淡定。 发表于 2014-8-12 10:00:57
data a;
  call symput('x',2);
run;
%put &x;
用call symput定义的宏变量在data步执行完之后才能调用,在离data步最近的宏程序或者open code中执行。

若要在data步里输出,则:
data a ;
  call symput('x',2);
  b=symget('x');
  put b;
run;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 22:29