SAS软件应用指南第四章、第五章
第四章、第五章
第四章数据步程序设计数据步的程序代码一般都是顺序执行然而,数据步中有一些控制语句,如分支循环语句,可控制程序的执行流程IFDO ... ENDGOTORETURN
第四章 数据步程序设计 数据步的程序代码一般都是顺序执行, 然而,数据步中有一些控制语句,如分支、 循环语句,可控制程序的执行流程。 IF DO . END GOTO RETURN
4.1IF语句两种IF语句:条件IF语句,带有一个THEN子句和ELSE子句(可选)。只对满足IF语句中所指定条件的观测值才执行SAS语句。如果THEN子句不被执行,那么可选择的ELSE子句给出另一种替换作用子集IF语句,无THEN子句。用来使SAS系统继续处理那些满足IF子句中条件的观测值
4.1 IF 语句 两种IF语句: ●条件IF语句,带有一个THEN子句和 ELSE子句(可选)。只对满足IF语句中所 指定条件的观测值才执行SAS语句。如果 THEN子句不被执行,那么可选择的ELSE 子句给出另一种替换作用。 ●子集IF语句,无THEN子句。用来使SAS 系统继续处理那些满足IF 子句中条件的观 测值
IF-THEN/ELSE语句格式:IF expression THEN statement;<ELSE statement;>说明:SAS系统首先对跟在IF后的表达式(expression)求值,如果结果为真(非零),则执行THEN后的语句。如果为假则去执行ELSE后面的语句,如果没有ELSE子句,则执行下一个语句。注意:在THEN之后只允许使用一个语句,如果要执行几个语句,!则应用DO-END把要同时执行的几个语句用括起来IF-THEN/ELSE语句可以嵌套
IF-THEN/ELSE语句 格式: IF expression THEN statement; <ELSE statement;> 说明: SAS系统首先对跟在IF后的表达式(expression)求值, 如果结果为真(非零),则执行THEN后的语句。如果为假, 则去执行ELSE后面的语句,如果没有ELSE子句,则执行下 一个语句。 注意: 在THEN之后只允许使用一个语句,如果要执行几个 语句,则应用DO-END把要同时执行的几个语句用括起来。 IF-THEN/ELSE 语句可以嵌套
4.2GO TO(GOTO)语句格式:GOTO label:或 GO TO label;说明:GOTO(或者GOTO)语句告诉SAS系统,立即跳向在GOTO语句中指出的语句,并从那一点开始接着执行。GOTO语句和跳向的目标都必须在一个DATA步中,跳向的自标语句由GOTO语句和目标语句中的标号来标明。label:标识GOTO目标的语句标号
4.2 GO TO (GOTO)语句 格式: GOTO label; 或 GO TO label; 说明: GO TO (或者GOTO)语句告诉SAS系统,立即 跳向在GOTO语句中指出的语句,并从那一点开始 接着执行。GO TO语句和跳向的目标都必须在一个 DATA步中,跳向的目标语句由GO TO语句和目标 语句中的标号来标明。 label: 标识GOTO目标的语句标号