- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAS软件应用基础第四章课件
第四章 数据步的程序设计 Program Design of Data Step;Contents ;4.1 IF语句;格式:
IF expression THEN statement;
ELSE statement;
说明:
SAS系统先对expression求值,
如结果为真(非零),则执行THEN后的语句
如结果为假,则执行ELSE后面的语句,如果没有ELSE子句,则执行下一个语句
在THEN之后只允许使用一个语句,如果要执行几个语句,则应用DO-END把要同时执行的几个语句括起来。
IF-THEN/ELSE语句可以嵌套 ;例1:在程序执行时显示总成绩280的观测
DATA A;
INPUT NUM S1-S3 @@;
TOTAL=SUM(OF S1-S3);
IF TOTAL280 THEN PUT NUM TOTAL;
CARDS;
1001 79 96 87 1002 89 96 98
1003 87 69 81
run;;例2:口腔科体检,记录检查值为:
0-正常,1-龋齿,2-龋齿已填充,
3-因龋齿失牙,4-其他原因失牙。
通过牙齿状态调查判断患龋齿与失牙病情。
Data a;
Input x @@;
If 1=x=3 Then hq=1; * x=1 x=3;
Else hq=0;
If 3=x=4 Then sy=1; * x=3 x=4;
Else sy=0;
Cards;
0 1 2 3 4
;
Proc print;
Run;;例3:Do - End 语句组:
对考试成绩不及格的学生指明需要补考,并在日志窗口显示。
Data a;
Input num x @@;
If x60 then do;
bk=1;
put num x bk=;
End;
Else bk=0;
Cards;
101 80 102 90 103 85 104 50 105 100
Run;;例4: if 嵌套
data ;
input X Y@@;
IF X=0 THEN
IF Y^=0 THEN PUT X ZERO,Y NONZERO;
ELSE PUT X ZERO,Y ZERO;
ELSE PUT X NONZERO;
cards;
0 1 0 0 1 0 0 3
run;;4.2 GO TO (GOTO)语句 ; DATA INFO;
INPUT X Y @@;
IF 1=X=5 THEN GO TO OK;
X=3;
COUNT+1;
OK: SUMX+X;
CARDS;
3 5 7 9
2.7 3.8 59 10
;
PROC PRINT;
Run;;4.3 RETURN语句 ;DATA RECORD;
INPUT X Y @@;
IF 1=X=5 THEN GOTO OK;
X=3;
COUNT+1;
RETURN;
OK: SUMX+X;
CARDS;
3 5 7 9
2.7 3.8 59 10
PROC PRINT;;DATA RECORD;
INPUT X Y @@;
IF X1 OR X5 THEN DO;
X=3;
COUNT+1;
END;
ELSE SUMX+X;
CARDS;
3 5 7 9
2.7 3.8 59 10
PROC PRINT;;DATA RECORD;
INPUT X Y @@;
IF X1 OR X5 THEN DO;
X=3;
COUNT+1;
END;
SUMX+X;
CARDS;
3 5 7 9
2.7 3.8 59 10
PROC PRINT;;4.4 循环(Cycling program)设计;格式:DO 指针变量=初值 TO 终值 BY 增量;
END ;
说明:
DO语句组第一次执行时,指针变量等于初值。
每执行到END语句时,指针变量+增量作为新的指针变量,并与终值作比较,直到指针变量的值变化超过终值时才停止。
最后一次执行完后,指针变量值超过终值。
如果仅有初值,则直到一个语句指示跳出循环体才停止循环。
如果初值终值均未规定,语句组执行一次。
如果未规定增量,增量的缺省值为1。;例:打印乘法九九表
DATA _NULL_;
DO I=1 TO 9;
DO J=1 TO I;
文档评论(0)