SAS45

更新时间:2023-08-14 12:29:01 阅读量: 人文社科 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SAS45[数据步与文件操作]

第四章,第五章

SAS45[数据步与文件操作]

第四章 数据步程序设计数据步的程序代码一般都是顺序执行, 数据步的程序代码一般都是顺序执行, 然而,数据步中有一些控制语句,如分支, 然而,数据步中有一些控制语句,如分支, 循环语句,可控制程序的执行流程. 循环语句,可控制程序的执行流程. IF DO … END GOTO RETURN

SAS45[数据步与文件操作]

4.1 IF 语句两种IF语句 两种 语句: 语句● 条 件 IF 语 句 , 带 有 一 个 THEN 子 句 和 ELSE子句(可选).只对满足 语句中所 子句( 子句 可选) 只对满足IF语句中所 指定条件的观测值才执行SAS语句 . 如果 语句. 指定条件的观测值才执行 语句 THEN子句不被执行, 那么可选择的 子句不被执行, 子句不被执行 那么可选择的ELSE 子句给出另一种替换作用. 子句给出另一种替换作用. 子集IF语句 语句, 子句. ●子集 语句,无THEN子句.用来使 子句 用来使SAS 系统继续处理那些满足IF 子句中条件的观 系统继续处理那些满足 测值. 测值.

SAS45[数据步与文件操作]

IF-THEN/ELSE语句 语句格式: 格式 IF expression THEN statement; <ELSE statement;>说明: 说明: SAS系统首先对跟在 后的表达式 系统首先对跟在IF后的表达式 求值, 系统首先对跟在 后的表达式(expression)求值, 求值 如果结果为真(非零 则执行THEN后的语句.如果为假, 非零), 后的语句. 如果结果为真 非零 ,则执行 后的语句 如果为假, 则去执行ELSE后面的语句,如果没有 后面的语句, 子句, 则去执行 后面的语句 如果没有ELSE子句,则执行下 子句 一个语句. 一个语句. 注意: 注意 之后只允许使用一个语句, 在THEN之后只允许使用一个语句,如果要执行几个 之后只允许使用一个语句 语句,则应用DO-END把要同时执行的几个语句用括起来. 语句,则应用 把要同时执行的几个语句用括起来. 把要同时执行的几个语句用括起来 IF-THEN/ELSE 语句可以嵌套 .

SAS45[数据步与文件操作]

4.2 GO TO (GOTO)语句格式: 格式 GOTO label; 或 GO TO label; 说明: 说明:GO TO (或者 或者GOTO)语句告诉 语句告诉SAS系统,立即 系统, 或者 语句告诉 系统 跳向在GOTO语句中指出的语句, 并从那一点开始 语句中指出的语句, 跳向在 语句中指出的语句 接着执行. 接着执行.GO TO语句和跳向的目标都必须在一个 语句和跳向的目标都必须在一个 DATA步中,跳向的目标语句由 步中, 步中 跳向的目标语句由GO TO语句和目标 语句和目标 语句中的标号来标明. 语句中的标号来标明. label: 标识 标识GOTO目标的语句标号. 目标的语句标号. 目标的语句标号

SAS45[数据步与文件操作]

4.3 RETURN语句格式: 格式:RETURN; RETURN语句的功能是将当前观测值输 语句的功能是将当前观测值输 出到数据集,然后立即将程序流程返回 DATA步的开始处,而不执行其后的语句. 步的开始处, 步的开始处 而不执行其后的语句. GO TO语句经常被 语句经

常被DO-END语句代替. 语句代替. 语句经常被 语句代替

SAS45[数据步与文件操作]

4.4 循环在数据步的一次执行中反复地执行某一 部分语句,这种程序的反复执行称为循环. 部分语句,这种程序的反复执行称为循环. DATA _NULL_;I=1; K: PUT I; I=I+1; IF I<=10 THEN GOTO K; RUN;DO I=1 TO 10; ; PUT I; ; END; ;

SAS45[数据步与文件操作]

4.4 循环循环语句的格式: DO 指针变量=初值 TO 终值 BY 增量; END ; 说明: DO语句组第一次执行时,指针变量等于 初值.当终值和增量都存在时,则每执行到 END 语句时, 指针变量+增量作为新的指针变量,并 与终值作比较,直到指针变量的值变化超过终值 时才停止执行DO语句组.最后一次执行完后,指 针变量值超过终值.

SAS45[数据步与文件操作]

4.4 循环如果仅有初值, 如果仅有初值 , 则直到一个语句指示 跳出循环体才停止循环. 跳出循环体才停止循环 . 如果初值终值均 未规定,语句组执行一次. 未规定 , 语句组执行一次 . 如果未规定增 增量的缺省值为1. 量,增量的缺省值为 .初值和终值是在第 一次执行循环以前计算的. 一次执行循环以前计算的.

SAS45[数据步与文件操作]

4.4 循环DATA _NULL_; DO I=1 TO 10; PUT I=; END; RUN; PUT语句中变量名后面使用等号,是对 输出值用变量名来标识.称为命名输出. 如:PUT I=;

SAS45[数据步与文件操作]

4.4 循环 双重循环(循环嵌套): DO…; DO…; 外 内 循 …… 循 环 环 …… END; END;

SAS45[数据步与文件操作]

4.4 循环 双重循环(循环嵌套): DATA _NULL_; DO I=1 TO 9; DO J=1 TO I; X=I*J; PUT @(J*5) X @; END; PUT; END; RUN;

SAS45[数据步与文件操作]

4.4 循环DATA _NULL_; DO I=1 TO 9; DO J=1 TO I; X =I*J; PUT J 1. '*' I 1. '=' END; PUT; END; RUN;

X 2. +2 @;

SAS45[数据步与文件操作]

4.5 其它程序设计中常用语句4.5.1 DELETE 语句格式: 格式:DELETE; DELETE语句告诉 语句告诉SAS系统停止处理当 语句告诉 系统停止处理当 前的观测值, 前的观测值, 且该观测值不被写入正在建立 的数据集中, 系统返回DATA步的开始处 的数据集中,SAS系统返回 系统返回 步的开始处 进行下一次执行. 进行下一次执行.

SAS45[数据步与文件操作]

4.5.2求子集的IF语句格式: IF expression; 使用求子集IF语句,使SAS系统仅继续处 理符合IF语句条件规定的观测值, 因而 所得到的数据集是原数据集的子集.

SAS45[数据步与文件操作]

4.5.2求子集的IF语句如果表达式为真(非零且不缺项 , 如果表达式为真 非零且不缺项), SAS系统 非零且不缺项 系统 继续为正在建立的观测值执行DATA 步中的语句. 步中的语句. 继续为正在建立的观测值执行 如果表达式的值是假(0或缺项 或缺项), 如果表达式的值是假 或缺项 ,SAS系统马上返 系统马上返 回到DATA步的开始, 去进行另一次执行而不输 回到 步的开始, 步的开始 出上一个观测值. 出上一个观测值. 如: IF SEX='F'; 等同于( 等同于(IF SEX='M' THEN DELETE; ; 在结果数据集中所包含的仅仅是SEX的值 在结果数据集中所包含的仅仅是 的值 的那些观测值. 为'F'的那些观

测值. 的那些观测值

SAS45[数据步与文件操作]

4.5.2求子集的IF语句DATA A ; INPUT NAME$ SEX$ @@; CARDS; ZHANG F LI M SUN F WANG F LIU M ZHAO M PROC PRINT; RUN; DATA B; SET A; IF SEX='F'; PROC PRINT; RUN;

SAS45[数据步与文件操作]

第五章 SAS文件操作建立永久数据集: 建立永久数据集:将数据集存盘 数据排序: 过程, 数据排序:SORT过程,将数据集中数据排序 过程 数据集连接: 语句, 数据集连接:SET语句,多数据集纵向连接 语句 数据集合并: 语句, 数据集合并:MERGE语句,多数据集横向合并 语句 其他常用语句: 其他常用语句:PUT,FILE,OUTPUT , , SAS文件管理命令及过程 文件管理命令及过程

SAS45[数据步与文件操作]

5.1 建立永久SAS数据集数据库:存储在一个目录下的许多文件组成. 数据库:存储在一个目录下的许多文件组成. 数据库 库标记(一级名 是SAS文件的物理存储位置 目录). 一级名):是 文件的物理存储位置(目录 库标记 一级名 文件的物理存储位置 目录)在SAS系统中为一个统一的逻辑标记. 系统中为一个统一的逻辑标记. 系统中为一个统一的逻辑标记 临时库 : 名为 临时库: 临时库 名为WORK, 它在每次启动 , 它在每次启动SAS后自动生 后自动生 结束SAS后库中的数据自动删除. 后库中的数据自动删除. 成,结束 后库中的数据自动删除 永久库:使用 永久库: 语句指定永久库的库标记, 永久库 使用LIBNAME语句指定永久库的库标记, 语句指定永久库的库标记 永久库中的所有文件将被保留 . 启动SAS时,SAS自动指定两个库标记: 自动指定两个库标记: 启动 时 自动指定两个库标记 SASUSER:永久库,不必用 指定. :永久库,不必用LIBNAME指定. 指定 WORK:临时库,可省略库标记 缺省数据库 . 缺省数据库). :临时库,可省略库标记(缺省数据库

SAS45[数据步与文件操作]

建立永久数据集的关键语句 LIBNAME语句 语句 DATA 语句建立永久数据集与建立临时数据集所用的 语句基本相同, 除上述二语句之外, 语句基本相同 , 除上述二语句之外 , 其余语 句的用法与作用均不变. 句的用法与作用均不变.

SAS45[数据步与文件操作]

5.1.1 LIBNAME语句 语句目录' 格式:LIBNAME 库标记 '目录'; 例:LIBNAME LC 'C:\EXERCISE'; 库标记: 可任意起名, 库标记 : 可任意起名 , 目录必须用引号括起 来.– LIBNAME – LIBNAME PAN 'D:\PANYAN'; LA 'A:';

本文来源:https://www.bwwdw.com/article/qktj.html

Top