1 语言特点
SAS程序
SAS程序就是一系列「有序 」的SAS语句,编程过程中需要遵循一些规则:
- 后续语句都围绕第一句展开
- 每一条SAS语句都以分号结尾
SAS程序布局
SAS是一种非常灵活的语言,甚至可以说灵活到没有任何规则,这主要体现在:
- SAS语句不区分大小写
- 一条语句可以写在多行
- 多行语句可以写在一行
- 语句可以从任意列开始
注释
SAS中有两种注释方式:
- 以星号(*)开头,分号(;)结尾
- 以斜杠星号(/*)开头,以星号斜杠(*/)结尾
2 数据集
数据类型
原始数据可以有各种数据类型,但SAS中只有两种数据类型:「数值型」和「字符型」。注意,如果一个变量只包含数字,那它可能是数值型也可能是字符型。
缺失数据
再SAS中,缺失的字符型数据用空白表示,缺失的数值型数据用点(.)表示。
变量命名规则
因为SAS不区分大小写,所以变量命名和python有一些区别,命名时要遵循以下原则:
- 长度不超过32个字符
- 必须以字母或下划线(_)开始
- 名称中只能出现字母、数字或下划线
3 DATA步和PROC步
SAS程序由两个基本部分组成,分别是data步和proc步。当遇到以下情况时,SAS会结束当前的步:
- 遇到新的步:data步或proc步
- 碰到run、quit、stop、abort语句
- 正常运行到程序结尾
注意,run的作用是通知SAS去运行本步中此前所有的行,以及步之间的少许全局语句。
data步 | proc步 |
---|---|
以data语句开始 | 以proc语句开始 |
读取、修改数据(连接、匹配…) | 完成特定分析或特定功能 |
创建数据集 | 产生结果或报表 |
4 DATA步的内置循环
简单地说,SAS读取第一条观测后,针对它从头到尾逐行执行data步语句,然后在以同样的方式处理第二条观测。
5 SAS窗口环境
SAS窗口 SAS中共有5种窗口,但在windows操作环境下,若运行结果可打印则会多出现一个「结果查看器」:
- 编辑:输出、编辑、提交SAS程序
- 日志:显示与程序相关的任何提示、错误或警告信息
- 输出:windows环境下默认不显示任何内容
- 结果:以纲要形式显示输出窗口和结果查看器的目录
- 资源管理器:查看SAS文件和逻辑库
6 阅读SAS日志
日志内容
- 以SAS版本和SAS软件安装点编号开始
- data步 / proc步原始程序语句,并在左侧添加了行号
- data步 / proc步注释,包含创建的SAS数据集名称、观测数、变量数
- data步 / proc步计算耗时
- 错误、警告及其他提示信息
7 逻辑库
逻辑库
简单地说,逻辑库就是存放SAS数据集的位置。若创建SAS数据集时不指定,则默认存储在work逻辑库中,并在结束会话时将其删除。
新建逻辑库
创建逻辑库有多种方法,常用的有:
- 在资源管理器中右键 → 新建
- 使用libname语句:libname 逻辑库名 指定路径;
8 VIEWTABLE窗口
更改列标题
在激活VIEWTABLE窗口前提下,点击菜单栏 → 试图 → 列名 / 列标签,可以实现两者的切换。
列选项
右击列标题,会弹出常用的列选项,分别是:
- colors:控制颜色
- fonts:控制字体
- sort:排序
- hide:隐藏列
- hold:冻结
- column description:该栏数据说明
- column attributes:列属性
9 数据集属性
常规选项卡
显示数据集创建日期、行数、列数。
列选项卡
显示数据集中列的相关信息,如变量名、类型、长度、标签等。
10 系统选项
系统选项窗口
在命令行区域键入options + 回车,或通过工具 → 选项 → 系统,都能打开SAS系统选项窗口,能对各种参数进行修改,并对所有SAS程序生效。
OPTIONS语句
options语句不属于data步和proc步,是SAS程序的一部分,影响该程序中其后所有步。它以关键字potions开头,后面紧跟选项列表和值。如: options leftmargin = 1 in nodata;
options语句通常出现在第一行,作用于其后所有语句,若后续有options语句再次出现,则会对之前进行覆盖。