第一章 SAS软件入门

目录


第一章 SAS软件入门

1.1 语言特点


SAS程序
SAS程序就是一系列「有序 」的SAS语句,编程过程中需要遵循一些规则:

  • 后续语句都围绕第一句展开
  • 每一条SAS语句都以分号结尾

SAS程序布局
SAS是一种非常灵活的语言,甚至可以说灵活到没有任何规则,这主要体现在:

  • SAS语句不区分大小写
  • 一条语句可以写在多行
  • 多行语句可以写在一行
  • 语句可以从任意列开始

注释
SAS中有两种注释方式:

  • 以星号(*)开头,分号(;)结尾
  • 以斜杠星号(/*)开头,以星号斜杠(*/)结尾


1.2 数据集


第一章 SAS软件入门

数据类型
原始数据可以有各种数据类型,但SAS中只有两种数据类型:「数值型」和「字符型」。注意,如果一个变量只包含数字,那它可能是数值型也可能是字符型。

缺失数据
再SAS中,缺失的字符型数据用空白表示,缺失的数值型数据用点(.)表示。

变量命名规则
因为SAS不区分大小写,所以变量命名和python有一些区别,命名时要遵循以下原则:

  • 长度不超过32个字符
  • 必须以字母或下划线(_)开始
  • 名称中只能出现字母、数字或下划线


1.3 DATA步和PROC步


SAS程序由两个基本部分组成,分别是data步和proc步。当遇到以下情况时,SAS会结束当前的步:

  • 遇到新的步:data步或proc步
  • 碰到run、quit、stop、abort语句
  • 正常运行到程序结尾

注意,run的作用是通知SAS去运行本步中此前所有的行,以及步之间的少许全局语句。

data步 proc步
以data语句开始 以proc语句开始
读取、修改数据(连接、匹配…) 完成特定分析或特定功能
创建数据集 产生结果或报表


1.4 DATA步的内置循环


第一章 SAS软件入门
简单地说,SAS读取第一条观测后,针对它从头到尾逐行执行data步语句,然后在以同样的方式处理第二条观测。

第一章 SAS软件入门


1.5 SAS窗口环境


SAS窗口 SAS*有5种窗口,但在windows操作环境下,若运行结果可打印则会多出现一个「结果查看器」

  • 编辑:输出、编辑、提交SAS程序
  • 日志:显示与程序相关的任何提示、错误或警告信息
  • 输出:windows环境下默认不显示任何内容
  • 结果:以纲要形式显示输出窗口和结果查看器的目录
  • 资源管理器:查看SAS文件和逻辑库


1.6 阅读SAS日志


日志内容

  • 以SAS版本和SAS软件安装点编号开始
  • data步 / proc步原始程序语句,并在左侧添加了行号
  • data步 / proc步注释,包含创建的SAS数据集名称、观测数、变量数
  • data步 / proc步计算耗时
  • 错误、警告及其他提示信息


1.7 逻辑库


逻辑库
简单地说,逻辑库就是存放SAS数据集的位置。若创建SAS数据集时不指定,则默认存储在work逻辑库中,并在结束会话时将其删除。

新建逻辑库
创建逻辑库有多种方法,常用的有:

  • 在资源管理器中右键 → 新建
  • 使用libname语句:libname 逻辑库名 指定路径;


1.8 VIEWTABLE窗口


第一章 SAS软件入门

更改列标题
在激活VIEWTABLE窗口前提下,点击菜单栏 → 试图 → 列名 / 列标签,可以实现两者的切换。

列选项
右击列标题,会弹出常用的列选项,分别是:

  • colors:控制颜色
  • fonts:控制字体
  • sort:排序
  • hide:隐藏列
  • hold:冻结
  • column description:该栏数据说明
  • column attributes:列属性


1.9 数据集属性


第一章 SAS软件入门

常规选项卡
显示数据集创建日期、行数、列数。

列选项卡
显示数据集中列的相关信息,如变量名、类型、长度、标签等。


1.10 系统选项


第一章 SAS软件入门

系统选项窗口
在命令行区域键入options + 回车,或通过工具 → 选项 → 系统,都能打开SAS系统选项窗口,能对各种参数进行修改,并对所有SAS程序生效。

OPTIONS语句
options语句不属于data步和proc步,是SAS程序的一部分,影响该程序中其后所有步。它以关键字potions开头,后面紧跟选项列表和值。如: options leftmargin = 1 in nodata;
options语句通常出现在第一行,作用于其后所有语句,若后续有options语句再次出现,则会对之前进行覆盖。

上一篇:使用SAS保护Azure Storage的安全性


下一篇:A001-1:如何使用 jupyter notebook 作为 SAS 的笔记本