请选择 进入手机版 | 继续访问电脑版
楼主: zorro2004
2580 2

如何中途停止do to 循环 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

34%

还不是VIP/贵宾

-

威望
0
论坛币
11 个
通用积分
0.0001
学术水平
1 点
热心指数
6 点
信用等级
0 点
经验
2259 点
帖子
77
精华
0
在线时间
117 小时
注册时间
2012-4-16
最后登录
2019-5-14

zorro2004 发表于 2016-6-27 10:58:06 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
代码如下:
%macro a;
%do i=1 %to 46;
data temp;
set temp;
if index(a&i,b1)>0 then c1=scan(a&i,2,'"');
end;
run;
%end;
%mend;


这么写的话每次都要完成46次循环才可以,但实际情况可能循环到中间就满足 index(a&i,b1)>0了,如何改写成一旦实现 index(a&i,b1)>0,即完成一次循环,跳下一个
感谢!
二维码

扫码加我 拉你入群

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

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

关键词:Index Macro Temp Then Data 如何

data步里用array

data temp;
set temp;
array a$ a:;
do i=1 to dim(a);
if index(a,b1) then c1=scan(a,2,'"');
if index(a,b1) then continue;
end;
run;

使用道具

zqy458219593 发表于 2016-6-28 09:41:12 |显示全部楼层 |坛友微信交流群
if index(a&i,b1)>0 then leave;


使用道具

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

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

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

GMT+8, 2024-3-29 10:12