SAS - 程序结构

SAS编程包括首先创建/读取数据集到内存中,然后对这些数据进行分析.我们需要了解编写程序以实现此目的的流程.

SAS程序结构

下图显示了要编写的步骤按照给定的顺序创建SAS程序.

ps_flow_1

每一个SAS程序必须具备所有这些步骤才能完成读取输入数据,分析数据并提供分析输出.此外,还需要在每个步骤结束时使用 RUN 语句来完成该步骤的执行.

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;

PROC步骤

此步骤涉及调用SAS内置程序来分析数据.

语法

PROC procedure_name options; #The name of the proc.
RUN;

示例

以下示例显示使用 MEANS 过程打印平均值数据集中的数字变量.

PROC MEANS;
RUN;

OUTPUT步骤

数据集中的数据可以使用条件输出语句显示.

语法

PROC PRINT DATA = data_set;
OPTIONS;
RUN;

示例

以下示例显示使用输出中的where子句仅生成数据集中的少量记录.

PROC PRINT DATA = TEMP;
WHERE SALARY > 700;
RUN;

完整的SAS程序

以下是上述每个步骤的完整代码.

ps_complete_code

节目输出

输出从上面的代码中可以看到结果标签.ps_program_output