楼主: gougou11
1957 13

[原创博文] 请教高手一个编程问题 [推广有奖]

11
ziyenano 发表于 2012-8-22 11:35:27
dcyhfut 发表于 2012-8-22 10:08
options  symbolgen mprint mlogic;
%macro a;
data a1;
宏编译主要是文本解析;
当数据步第一次循环,&i=1 &tim=time;
&tim&i=time解析成time1=time;
看起来,宏在数据步中只在第一次循环中解析一次;
接下来的循环,一直按照time1=time。

顺便说一下,即使宏能跟着数据步递增;每次循环开始,重新%let  i=1,
也只能出现time1,不过这个说法是不对的。



12
dcyhfut 发表于 2012-8-24 16:10:19
ziyenano 发表于 2012-8-22 11:35
宏编译主要是文本解析;
当数据步第一次循环,&i=1 &tim=time;
&tim&i=time解析成time1=time;
谢谢你,那在宏中想循环增加是不是只能用data步变量了?

13
xiaoaspire 在职认证  发表于 2012-9-3 20:01:49

14
Imasasor 发表于 2012-9-3 20:39:28
最简单方法,见代码
  1. %macro ****;
  2. data b(drop=time alt);
  3. %do i=1 %to 3;
  4. n=&i;
  5. set a point=n;
  6. time&i=time; alt&i=alt;
  7. %end;
  8. output;
  9. stop;
  10. run;
  11. %mend;

  12. %****
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
gougou11 + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

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

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