全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
936 2
2014-03-04
%macro dw(word);
%let i=1;
data out;
%do %while (%left(%scan(&word.,&i.)) ne %nrbquote(stop));
%let var=%scan(&word.,&i.);
%put &var.;
out="&var";
output;
%let i=%eval(&i.+1);
%put &i.;
%end;
run;
%mend dw;
%dw(%str(test1,test2,test3));
这是我在书本上摘录的一段程序,解析太简单,看起来太不懂,求解释啊,为什么运行的时候是无限运行下去呢,都不停止啊~~
求大神帮忙,多谢,您略微指点一二,对我都是很大的收获,多谢多谢~~~~

二维码

扫码加我 拉你入群

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

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

全部回复
2014-3-4 21:52:19
do while语句里的条件明显永远满足,自然永远运行下去了,如果你把宏参数%str(test1,test2,test3)改成%str(test1,test2,stop),那自然到第三步就停止了。
二维码

扫码加我 拉你入群

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

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

2014-3-4 22:42:47
mingfeng07 发表于 2014-3-4 21:52
do while语句里的条件明显永远满足,自然永远运行下去了,如果你把宏参数%str(test1,test2,test3)改成%str( ...
哦~我好像懂一点点了~~谢谢谢谢[em23]~~~~
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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