楼主: 等风来撒
1422 2

宏生成变量问题 [推广有奖]

  • 0关注
  • 0粉丝

博士生

40%

还不是VIP/贵宾

-

威望
0
论坛币
490 个
通用积分
35.4021
学术水平
0 点
热心指数
5 点
信用等级
0 点
经验
2497 点
帖子
220
精华
0
在线时间
233 小时
注册时间
2014-1-5
最后登录
2025-7-23

楼主
等风来撒 发表于 2014-7-10 14:25:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我想利用宏根据原始的变量生成新的变量,但是执行起来最后结果只有一个变量生成,有高手救救么- -


%macro a;
%do i=1 %to 172 %by 2;
%let j=%eval(&i+1);
data test2;
set test1;
aa&j=ex*a&j;
ra&i=dif(a&i)/lag(a&i);
run;
%end;
%mend a;
%a;


原数据表中test1中有a1 a2...a172,我想生城aa2 aa4 aa6...aa172和ra1 ra3 ra5.......

但是这个程序跑到最后只有a172和ra171生成,请问哪里出错了吗..急.....在线求高手
二维码

扫码加我 拉你入群

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

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

关键词:生成变量 Macro 哪里出错了 test 变量生成

这个...........

沙发
crazygoing 发表于 2014-7-10 14:39:34
循环错了,每次test2都被覆盖了,而不是改写,稍微改一下就行;
  1. %macro a;
  2. data test2;set test1;run;
  3. %do i=1 %to 172 %by 2;
  4. %let j=%eval(&i+1);
  5. data test2;
  6. set test2;
  7. aa&j=ex*a&j;
  8. ra&i=dif(a&i)/lag(a&i);
  9. run;
  10. %end;
  11. %mend a;
  12. %a;
复制代码

藤椅
等风来撒 发表于 2014-7-10 14:59:03
crazygoing 发表于 2014-7-10 14:39
循环错了,每次test2都被覆盖了,而不是改写,稍微改一下就行;
谢谢!!!厉害啊

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

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