SAS学习笔记6

本秂侑毒 提交于 2020-03-07 21:38:51

SAS过程步(proc step)是SAS系统的另一个核心步,对数据步(DATA STEP)生成的数据集进行分析和处理,挖掘数据信息。

SAS过程步用来对生成的数据集进行处理和分析,是SAS内部已经编译好的过程,用户可根据业务需求,直接调用SAS内部过程并对所调用过程选项设置进行分析处理、作图和报表,然后根据调用过程输出的信息写出分析报告做总结性评价。

过程步以“PROC”关键字为开始标志,通过“PROC”语句调用过程名和数据集,输出分析报告或图形或对数据集变换处理的动态执行过程。

过程步的语法格式:PROC 过程名 <DATA=数据集名> <选项>;过程语句 <参数选项>; RUN;

注意:1.对于调用SQL过程,结束标志是QUIT,后边还会有详细讲解的blog。

2.过程步中的过程语句与数据步中的语句不同,数据步中的语句不能用到过程步中,过程步中的过程语句以某一个关键字开始,如BY,VAR,CLASS,WEIGHT,FREQ,MODEL等。

下面是几个常用的语句。

1)VAR语句

过程步中用VAR语句指定分析变量,告诉SAS系统过程步对所要分析数据集的哪些变量进行分析,多个分析变量之间用空格分隔。省略该语句时默认对数据集的所有变量进行统计分析。

语法格式:VAR 变量名1 变量名2 变量名3 ... 变量名N;

功能:指定要分析的变量。

注意:此处的变量名为过程步指定的数据集中所具有的变量名。

2)ID语句

ID是身份和标识的意思。过程步用ID可以代替SAS默认的OBS标识,ID省略时用SAS默认OBS来标识观测记录。

语法格式: ID 标识变量名

功能:区分不同观测记录的变量,相当于指定一个区别标识,每个观测有唯一标识。

Libname dz 'd:\test';
PROC print data=dz.xy;
id no; /*按编号no标识观测值*/
RUN;


输出结果显示:
no    name   sex   sc
0001  小瑶瑶  M     30
0002  小小小  F     40



3)OUTPUT语句

OUTPUT语句在实际中经常用到,此语句可以把过程分析的结果输出到制定的数据集。默认是树池的分析结果到输出窗口,如果过程步加入了OUTPUT语句,可以把输出结果以数据集的形式存储到相对应的逻辑库中,在OUTPUT语句中可以制定过程步分析结果输出到新数据集的数据集名。

语法格式:OUTPUT OUT=新数据集名 <关键字=变量名>;

功能:将调用过程的分析结果输出到一个新的数据集中。

注意:此处新的数据集默认是存储在临时逻辑库中,如果分析的输出及结果想永久保留,必须建立用高就逻辑库,然后通过二级名方式存储新数据集,即逻辑库名.新数据集名。

4)WHERE语句

SAS中的WHERE语句为过滤条件语句,用法与DATA步中的WHERE语句类似,相当于SQL语句中的查询语句的WHERE,功能是一样的。

5)TITLE语句

TITLE语句用于加入标题信息,对输出报告需要加入标题信息的可以通过此语句输入标题内容。

语法格式:TITLE n '标题信息';

功能:为过程分析输出信息加入标题信息。

注意:语句中的n为整数,用于告诉SAS系统在第几行显示标题信息。

6)OPTION语句

OPTION语句主要是改变SAS系统的默认设置,属于全局性的变量设置,在SAS会话没有退出会话期间有效,当前会话执行时,OPTION语句改变属性设置,上一个会话的OPTION语句设置失效。可以控制输出的版式,对输出内容的具体位置进行控制。

语法格式:OPTION 选项1 <选项2>...;

功能:改变SAS系统默认设置。

7)LABEL语句

LABEL是标签的意思,用LABEL语句给变量指定一个可以识别的名字,便于理解变量代表什么意思。可以出现在过程步中的任意位置。

语法格式:LABEL 变量名1='标签名';

功能:给变量指定一个标签名,便于理解变量。

注意:LABEL语句中的多个变量标签之间用空格分隔。

8)FORMAT语句

FORMAT语句定义输出变量的格式,与数据步中定义的语法格式相同,定义输出变量的字符或数值类型。

语法格式:FORMAT 变量名 类型定义;

功能:对变量定义输出格式。

注意:变量类型定义与数据步INPUT语句中定义变量类型的方式相同。

9)NOOBS

NOOBS选项参数指明不输出OBS标识列。

10)FIRSTOBS=和OBS=选项参数的设置,控制从数据集第几条记录开始到第几条记录结束,属于取记录条数的控制。

11)DOUBLE

DOUBLE选项参数设置在观测记录之间加入一行。


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!