Search for
Login | Username Password Forgot? | Email: | Create Account
Non English | Popularity: 0 | Entries: 63 | Updated: 1h 56m ago | | Add to My Feeds
SAS循环结构
September 9th, 2010

SAS 数据步可以使用丰富的循环结构,主要的是两种:计数DO循环和当型、直到型循环。
计数DO循环的写法是:

DO 计数变量 = 起始值 TO 结束值 BY 步长;
循环体语句……
END;

在 DO 和END 之间可以有多个语句。程序先把计数变量赋值为起始值,如果此值小于等于结束值则执行循环体语句,然后把计数变量加上步长,再判断它是否小于等于结束值,如果是则继续执行循环体,直到计数变量的值大于结束值为止。上述结构中“BY 步长”可以省略,这时步长为1。如果步长取负值,则继续循环的条件是计数变量大于等于结束值。例如:

DATA;
	DO i = 1 TO 20 BY 2;
		j = i**3;
		PUT i 3. j 5.;
	END;
RUN;

可以输出一个 1,3,5,7,?,19 的立方表。
循环体中可以使用LEAVE语句跳出循环,相当于其它语言中的break语句。在循环体内用CONTINUE语句可以立即结束本次循环并转入下一次循环。

当型循环的写法是:

DO WHILE(循环继续条件);
循环体语句……
END;

程序先判断循环继续条件是否成立,成立时执行循环体语句,再判断循环继续条件,如此重复,直到循环继续条件不再成立。

直到型循环的写法是:

DO UNTIL(循环退出条件);
循环体语句……
END;

程序先执行循环体,然后判断循环退出条件是否成立,成立则结束循环,否则继续。注意每轮循环都是先执行循环体再判断是否退出。

或许你会对下面这些文章感兴趣:

  • 2010年08月21日 -- SAS分支结构之SELECT
    SAS的IF结构允许嵌套,但SAS不提供IF-ELSEIF-ELSE的多分支结构...
  • 2010年08月19日 -- SAS分支结构之IF
    如果需要在某一条件满足时执行某一操作,可以使用: IF 条件 THEN 语句;...
  • 2010年08月10日 -- SAS语言构成
    SAS程序由SAS语句构成。像其它高级编程语言一样,每个语句以分号结尾。SAS语...
  • 2010年08月9日 -- Hello SAS
    SAS程序代码: data; title www.ineeke.com;...



More from Neeke's Blog

十日杂谈 10 Dec 3
SAS数据集更新 10 Nov 3
SAS循环结构 10 Sep 9
拒绝鼠标手 10 Sep 1
Hello SAS 10 Sep 1
SAS语言构成 10 Sep 1
九月的第一篇 10 Sep 1

^ Back To Top