1678 4

如何调用宏删除下标为偶数的变量 [推广有奖]

  • 0关注
  • 0粉丝

大专生

20%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
1.4570
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1449 点
帖子
18
精华
0
在线时间
64 小时
注册时间
2013-10-27
最后登录
2024-4-11

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想要调用宏删除下标为偶数的变量,写的代码如下:
  1. %MACRO TEST();
  2. %DO M=1 %TO 3;
  3. %LET N=%EVAL(2*&M-1);
  4. %PUT &N;
  5. %END;
  6. DATA A;
  7. INPUT ID_1 ID_2 ID_3 ID_4 ID_5;
  8. CARDS;
  9. 1 2 3 4 5
  10. 2 3 4 5 6
  11. 3 4 5 6 7
  12. ;
  13. DROP ID_&N;
  14. RUN;
  15. %MEND TEST;
  16. %TEST;
复制代码
但就是不通。。。求高手帮忙


二维码

扫码加我 拉你入群

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

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

关键词:Input Macro cards test card 如何

沙发
糖.甜到哀傷 发表于 2014-11-25 20:10:04 |只看作者 |坛友微信交流群
顶一下,会的高手帮帮忙~~

使用道具

藤椅
mingfeng07 学生认证  发表于 2014-11-25 23:24:21 |只看作者 |坛友微信交流群
  1. %MACRO TEST(datasets);
  2. %DO M=1 %TO 2;
  3. %LET N=%EVAL(2*&M);
  4. %PUT &N;
  5. data &datasets;
  6. set &datasets;
  7. drop ID_&N;
  8. run;
  9. %END;
  10. %MEND TEST;
  11. DATA A;
  12. INPUT ID_1 ID_2 ID_3 ID_4 ID_5;
  13. CARDS;
  14. 1 2 3 4 5
  15. 2 3 4 5 6
  16. 3 4 5 6 7
  17. ;
  18. run;
  19. %TEST(a);
复制代码

使用道具

板凳
farmman60 发表于 2014-11-26 00:28:05 |只看作者 |坛友微信交流群
  1. DATA A;
  2. INPUT ID_1 ID_2 ID_3 ID_4 ID_5;
  3. CARDS;
  4. 1 2 3 4 5
  5. 2 3 4 5 6
  6. 3 4 5 6 7
  7. ;
  8. RUN;

  9. %macro test(dsn);
  10.   data _null_;
  11.     set &dsn ;
  12.         array vars _all_;
  13.         call symputx('vars_num',dim(vars));
  14.   run;

  15.   %do i=1 %to &vars_num;
  16.   %if %sysfunc(mod(&i,2))=0 %then %do;
  17.       data &dsn;
  18.           set &dsn(drop=id_&i);
  19.           run;
  20.   %end;
  21.   %end;
  22. %mend;

  23. %test (a)
复制代码

使用道具

报纸
teqel 发表于 2014-11-26 00:48:52 |只看作者 |坛友微信交流群
用字符串比循环好。这里偷懒了

  1. DATA A;
  2. INPUT ID_1 ID_2 ID_3 ID_4 ID_5;
  3. CARDS;
  4. 1 2 3 4 5
  5. 2 3 4 5 6
  6. 3 4 5 6 7
  7. ;

  8. %macro test();

  9. %do M=1 %to 2;
  10. %LET N=%EVAL(2*&M);
  11. proc sql;
  12. alter table A
  13. drop ID_&N;
  14. quit;
  15. %end;

  16. %mend;
复制代码

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-23 19:55