全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2358 2
2014-08-27
宏程序中如果有多个PRO步或者DATA步都需要用DO循环语句,且同步,那个这些过程是写在一个DO循环内还是分别用do循环?
比如:例1:%do i=1 %to 10; proc1;proc2;data1; end;
         例2: %do i=1 %to 10 ;proc1;end;
                  %do i=1 %to 10;proc2;end;
                  %do i=1 %to 10;data;end;
例1好还是例2号,结果都一样,我不明白例2中循环下标 i  难道不会受前一过程的影响?比如第一行对 i 做了加法,第二行的循环过程为什么不受影响?

另外还有个问题,如果有多个Proc或data步,每个过程结尾用一个RUN和所有过程只有一个RUN,有什么区别的?
二维码

扫码加我 拉你入群

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

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

全部回复
2014-8-27 16:08:49
1.语句应该是%do...%end;
2.%do语句中i首次是初始化为1,所以不会受到其它语句的影响,比方说第一个%do循环结束后i的值变为11,但是在二个循环开始时i被初始化为1.
3.从程序编写的简洁性和程序的运行效率来看,第一个要比第二个好。
4.你要明白run语句的意义,代表此data步或proc步结束,如果没有run,结束的标志是碰到下一个data步或者proc步。
二维码

扫码加我 拉你入群

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

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

2014-9-3 09:35:05
嗯  明白了 ,非常感谢额!!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群