楼主: leedx
1530 8

[原创博文] 宏程序里面遇到一个问题 [推广有奖]

  • 7关注
  • 2粉丝

讲师

68%

还不是VIP/贵宾

-

威望
0
论坛币
1034 个
通用积分
8.4705
学术水平
4 点
热心指数
9 点
信用等级
1 点
经验
4461 点
帖子
611
精华
0
在线时间
435 小时
注册时间
2010-4-29
最后登录
2023-11-29

楼主
leedx 发表于 2011-8-23 12:36:46 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
这段宏程序里面的第二个%do语句不能那样写,我查了一些参考书,也没有找到解决方法,是否宏程序里面%do不能这样写?

  1. %macro dta;
  2. %do i=5 %to 40 %by 5;
  3. %do n=121 126 132;
  4. %quzu(i=&i,lead=&n);
  5. %end;
  6. data ff5;set ff51 ff56 ff512;miss=5;run;
  7. %end;
  8. %mend;
复制代码
二维码

扫码加我 拉你入群

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

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

关键词:宏程序 Macro Miss Data 解决方法 程序

本帖被以下文库推荐

沙发
honghejing 发表于 2011-8-23 13:10:01
用逗号隔开试试

藤椅
leedx 发表于 2011-8-23 13:23:22
honghejing 发表于 2011-8-23 13:10
用逗号隔开试试
好滴,试过了,还是不可以,不过还是thanks~~~

板凳
soporaeternus 发表于 2011-8-23 13:29:50
需要循环的字符串累加起来不是太长,就像2楼说的,给个分隔符然后用%scan一个个扫出来
很长的话,分别赋给不同的宏变量,用宏变量名来循环吧
Let them be hard, but never unjust

报纸
tj0412ymy 发表于 2011-8-23 13:30:10
建议LZ不妨试试这样做:
  1. %macro dta;
  2. %do i=5 %to 40 %by 5;
  3. data _NULL_;
  4. call symput('n1',121);
  5. call symput('n2',126);
  6. call symput('n3',132);
  7. run;
  8. %do j=1 %to 3  ;
  9. %quzu(i=&i,lead=&&n&j.);
  10. %end;
  11. data ff5;set ff51 ff56 ff512;miss=5;run;
  12. %end;
  13. %mend;
  14. %dta;
复制代码
对SAS和统计方面感兴趣的朋友,请加SAS学习和认证讨论群:169157207。欢迎在群上讨论!

地板
leedx 发表于 2011-8-23 15:14:48
好的,谢谢大家~~~

7
leedx 发表于 2011-8-23 15:20:25
tj0412ymy 发表于 2011-8-23 13:30
建议LZ不妨试试这样做:
问题解决了,谢谢您~~

8
bobguy 发表于 2011-8-24 07:49:59
do list is not supported in SAS macro. Here is a program which treats a string into a desired look. You may get the idea about how to take a word from a list of words.

https://bbs.pinggu.org/thread-699918-1-1.html

9
leedx 发表于 2011-8-24 08:54:26
bobguy 发表于 2011-8-24 07:49
do list is not supported in SAS macro. Here is a program which treats a string into a desired look.  ...
谢谢您,非常实用~~~

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

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