参考:
目前来看,中文的SAS学习资源还不太多,近期可能会陆陆续续更新一些SAS编程的学习教程,记录一下学习过程。
W3Cshool
深入解析SAS
银行业为什么喜欢用 sas 而不是 python?
-
- SAS Functions Pocket Reference
- 7.Learn SAS By Example
1. SAS概述
SAS是一款统计分析软件 。它于1960年由SAS软件研究所创建。从1960年1月1日,SAS用于数据管理,商业智能,预测分析,描述性和规范性分析等。从那时起,许多新的统计程序和组件在软件中进行了介绍。
SAS是跨平台的,这意味着你可以在任何操作系统Linux或Windows上运行SAS。 SAS是SAS程序员使用了SAS数据集的操作的若干序列进行的数据分析报告。
2.为什么银行和医药行业喜欢用SAS,而不是Python.
SAS作为商业软件,有着良好的稳定性。由于不是开源软件,软件中设计的算法或函数可以得到监管部门的检查,所以社会认可度高,但灵活性易用性可能没有开源软件Python,R 等。感兴趣可以点击参考链接 。
3.SAS 软件的安装使用
3.1 SAS Studio在线网页版本
- 注册SAS cloud
- 界面如下:
3.2 商业化SAS
(可以尝试去淘宝买哈~)
4.SAS程序结构
SAS程序结构:下图显示了按给定顺序写入以创建SAS程序的步骤。
每个SAS程序必须具有所有这些步骤才能完成读取输入数据,分析数据和给出分析输出。 此外,每个步骤结束时的RUN语句都需要完成该步骤的执行。
4.1 DATA步骤
此步骤涉及将所需数据集加载到SAS存储器中并识别数据集的变量(也称为列)。 它还捕获记录(也称为观察或主体)。 DATA语句的语法如下。
- 句法
DATA data_set_name; #Name the data set.
INPUT var1,var2,var3; #Define the variables in this data set.
NEW_VAR; #Create new variables.
LABEL; #Assign labels to variables.
DATALINES; #Enter the data.
RUN;
例子:
DATA TEMP;
INPUT ID $ NAME $ SALARY DEPARTMENT $;
comm = SALARY*0.25;
LABEL ID = 'Employee ID' comm = 'COMMISION';
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 Operations
3 Michelle 611 IT
4 Ryan 729 HR
5 Gary 843.25 Finance
6 Nina 578 IT
7 Simon 632.8 Operations
8 Guru 722.5 Finance
;
RUN;
结果:
4.2 PROC步骤
该步骤包括调用的SAS内置程序来分析数据。
- 句法
PROC procedure_name options; #The name of the proc.
RUN;
- 例子
以下示例显示使用MEANS过程打印数据集中数值变量的平均值。
PROC MEANS;
RUN;
4.3 完整的SAS程序
下面是每个上述步骤的完整代码。
结果:
5. SAS语法要求
5.1 变量名
- 它最多可以有32个字符。
- 它不能包含空格。
- 它必须以字母A到Z(不区分大小写)或下划线(_)开始。
- 可以包括数字,但不能作为第一个字符。
- 变量名不区分大小写。
5.2 数据集
- 临时数据集:DATA语句之后的一个字表示一个临时数据集的名字。这意味着数据集被在会话结束时删除。
# Temporary data sets.
DATA TempData;
DATA abc;
DATA newdat;
-
永久数据集:数据集名称可以使用库名称作为前缀,这使它成为永久数据集。 这意味着数据集在会话结束后仍然存在。
(可以理解为MYLIB文件夹下面,存在newdat文件,里面包含了sas有关数据)
# Permanent data sets.
DATA LIBRARY1.DATA1
DATA MYLIB.newdat;
5.3 SAS语句
每个编程语言都有自己的语法规则,比如Python中有严格的缩进要求。
- 语句可以在任何地方开始和结束的任何地方。在最后一行的末尾的分号“;”标志着语句的结束。
- 多条SAS语句可以在同一行,用分号结束每条语句。
- SAS关键字不区分大小写。
- 每个SAS程序必须使用一个运行语句run结束。
例子:
解析:
- Data Step
- Proc Step
- SAS 输出结果
5.4 SAS注释
SAS代码中的注释以两种方式指定。 以下是这两种格式。
-
*信息类型注释
单行注释 * This is comment ; 多行注释 * This is first line of the comment * This is second line of the comment;
/ * message * /类型注释
单行注释
/* This is comment */
多行注释
/* This is first line of the comment
* This is second line of the comment */
最后
如果想要更加深入了解SAS程序,存储原理需要理解一下PDV(Program Data Vector)机制。
Thanks~ 欢迎大家评论交流