®®
SAS 基础培训课程
SAS Institute (Shanghai) Co., Ltd.
1
®® SAS系统
SAS系统是用于数据分析与决策支持的大
型集成式模块化软件包。
(其早期的名称为
Statistical Analysis System )
2
®®
SAS系统是用于决策支持
的大型集成信息系统
SAS系统主要完成以数据为中心的四大任务:
数据访问
数据管理
数据呈现
数据分析
3
®® SAS 系统介绍
DATA
数据访问数据访问
Base SASBase SAS
ACCESSACCESS
MDDB ServerMDDB Server
ODBCODBC
数据管理数据管理
Base SASBase SAS
FSPFSP
SHARESHARE
CONNECTCONNECT
ASSISTASSIST
Warehouse Admin.
MDDB ServerMDDB Server
数据分析数据分析
Base SAS,STAT,ETS,Base SAS,STAT,ETS,
OR,QC,IML,INSIGHT,OR,QC,IML,INSIGHT,
NNA,LAB,NNA,LAB,
SPECTRAVIEWSPECTRAVIEW
数据呈现数据呈现
Base SASBase SAS
GRAPH, GIS, CALC, GRAPH, GIS, CALC,
INSIGHT,INSIGHT,
SPECTRAVIEW, SPECTRAVIEW,
ASSISTASSIST
开开
发发
工工
具具
AFAF
EISEIS
FSPFSP
分分
布布
式式
计计
算算
环环
境境
CONNECTCONNECT
SHARESHARE
IntrNETIntrNET
The SAS SystemThe SAS System
4
®® SAS系统的构成
SAS系统是一个可由几个到二、三十个工具模
块及面向行业的子系统组成的可伸缩系统。
其模块按功能大体有四类:
数据库及其管理
面向对象的4GL开发平台
各类堪称行业标准的分析工具
方便用户的外层技术(多平台支持,开
放环境,网络计算及分布处理)
5
®® SAS 系统软件由模块构成
数据库部分:BASE SAS, FSP, ACCESS,..
分析核心:STAT, ETS, QC, OR, IML, . . .
开发呈现工具:AF, EIS, GRAPH, . . .
分布处理与数据仓库:CONNECT, WA, ..
6
®®
数据
进入
管理 组织 利用
提交信息(Information Delivery):
SAS的核心业务
信息
知识
输出
®® SAS系统简介
要 求
进入SAS系统
发常用命令,切换窗口
进Assist和Desktop窗口
8
®®
启动SAS:在Windows桌面系统下双击
SAS图标
SAS系统简介
§1 SAS 提供的基本运行环境
或运行SAS系统目录下(例C:\SAS)的可
执行程序
常用的是交互运行方式。也可用提交批作业
方式运行的
9
®®
SAS系统简介
§1 SAS 提供的基本运行环境
SAS 为交互方式运行提供的环境
显示管理系统
下拉菜单(弹出菜单)
命令框、工具栏
三个基本窗口
PROGRAM EDITOR 窗口
LOG 窗口,OUTPUT 窗口
10工作界面介绍
®®
SAS系统简介
§1 SAS 提供的基本运行环境--三个基本窗口
访问和编辑已有的SAS程序
编写新的SAS程序
递交SAS程序
将SAS程序存为文件
是一个基本的窗口,缺省地打开
依次记录SAS进程中各程序运行的信息
可用命令清空
是一个基本的敞口,缺省地打开
依次记录程序输出的结果
有结果输出时自动转到前台
11
®®
SAS系统简介
§1 SAS 提供的基本运行环境
SAS常用的交互式运行方式:
用SAS编程实现各种任务
用SAS提供的菜单系统实现各种任务
用SAS/ASSIST
用SAS桌面系统
12
®®
SAS系统简介
§1 SAS 提供的基本运行环境
在交互式操作中用命令指挥显示管理系
统、切换窗口和完成各种特定的功能
发布命令有四种方式:
在命令框直接键入命令;
使用下拉菜单;
使用工具栏。
按功能键;
13发命令
®®
SAS系统简介
§1 SAS 提供的基本运行环境
常用的其它窗口:
KEYS 查看及改变功能键的设置
LIBNAME 查看已存在的SAS数据库
DIR 查看某个SAS数据库的内容
VAR 查看SAS数据集的有关信息
OPTIONS 查看及改变SAS的系统设置
14
®®
SAS系统简介
§1 SAS 提供的基本运行环境
进入SAS/ASSIST
使用工具栏图标
发命令ASSIST
下拉菜单选 Globals
ASSIST
进入SAS桌面系统
发命令DESKTOP
下拉菜单选 Globals
Desktop
15进菜单系统
®®
SAS系统简介
§ 2 运行一个简单的SAS程序
运行一个简单的 SAS 程序:
在 PROGRAM EDITOR 窗口中键入程序:
提交程序(SUBMIT)
查看 LOG 窗口的信息
调出提交的程序(RECALL)并修改,再次提交
在 OUTPUT 窗口查看运行结果
存储程序
16P005
®® SAS系统对数据的管理
要 求
设定、浏览SAS数据库
打开SAS数据集及其变量窗口
17
®® SAS系统对数据的管理
SAS对数据的分析与呈现都是面对SAS数据集
进行的
SAS数据集是一种SAS文件
SAS文件是由SAS系统创建和管理的有特殊结
构的文件。包括 SAS数据集和SAS目录册
(CATALOG)等
18
®® SAS系统对数据的管理
数据直接输入 流行的数据库 其它文件格式
SAS数据集
SAS应用程序
19
®®
SAS系统对数据的管理
§1 SAS 数据库
SAS数据集存储在SAS数据库中
SAS数据库还存储其它SAS专用文件
SAS数据库文件用两级命名方式定名:
-filename
(库标记.文件名)
SAS数据集
SAS数据库
20
®®
SAS系统对数据的管理
§1 SAS 数据库
SAS数据库有永久库和临时库两种
临时库:名为WORK,系统自动指定
永久库:系统自动指定名为SASUSER,
(SASHELP等).
其它可由用户指定
21
®®
SAS系统对数据的管理
§1 SAS 数据库
用工具栏中的图标进入库管理对话窗
或键入命令 Dlglib
或 Global Access Display Liberary
可进入库管理窗口浏览库内容和库文件
或用LIBNAME命令进入Libname窗口
用DIR 命令进入Dir窗口
用VAR 命令进入Var窗口
22操作:看库
®®
SAS系统对数据的管理
§1 SAS 数据库
不同的主操作系统下SAS数据库文件以不同
方式与主操作系统下的文件组织相联系
在Windows下每个SAS数据库置于某个子目
录之中
例:SASUSER: C:\SAS\SASUSER
WORK: C:\SAS\SASWORK
COURSE: C:\USERS\ZDW
23
®®
SAS系统对数据的管理
§1 SAS 数据库 设定
用工具栏中的图标进入库管理对话窗,
按下New Library按键
使用LIBNAME语句可以指定SAS库标:
LIBNAME 库名 SAS数据库挘
在Windows环境下:
LIBNAME 库名 目录名挘
LIBNAME course ‘c:\course’;
24连库 Libname 库名 ('目录1' '目录2')
®®
SAS系统对数据的管理
§2 SAS 数据集
两种类型的数据对象:
SAS数据集(Data sets):
包含描述部分和数据部分
SAS数据视窗(Data View):
只含描述部分
(变量名,属性,长度,标题
格式,创建与修改日期)
25
®®
SAS系统对数据的管理
§2 SAS 数据集: 描述部分
26
®®
SAS系统对数据的管理
§2 SAS 数据集: 描述部分
Global Access Display Liberary . . .
Desktop SAS Explore File Pop menu
Contents
Ass . Utilities Contents..
B & E Dst Attr.
Proc contents data=SAS数据集 <position>;
run;
27
®®
SAS系统对数据的管理
§2 SAS 数据集: 数据部分
变 量(字段、列)
记录
或行
SAS数据集的数据部分是由数据构成的矩形表
缺失值(Missing Value)。
字符型变量的缺失值用空格符表示
数值型变量的缺失值用句号“ . ”表示
28
®®
SAS系统对数据的管理
§2 SAS 数据集看数据集
用工具栏中的图标进入库管理对话窗
选中数据集
在弹出菜单选 Open table view
发命令:VT(或FSV) 数据集名
提交程序: proc print data=数据集名;
run;
29
®® 浏览和编辑SAS数据集
要 求
使用ViewTable浏览、编辑和新建SAS数据集
使用Proc Print输出SAS 数据集
在SAS系统中浏览和编辑SAS数据集必须先
设定SAS数据库,将要浏览和编辑的数据集
存放在已设定的SAS数据库中
30
®®
浏览和编辑SAS数据集
§1 使用Viewtable 浏览与编辑
Viewtable 提供一个显示数据集的窗口。它具
有对数据集的浏览、编辑和创建的功能
Viewtable 提供两种显示数据集的方式:
Table View 以矩阵表格形式显示数据,一
次可显示多条记录
Form View 一次只显示一条记录
31
®®
浏览和编辑SAS数据集
§1 使用Viewtable 浏览与编辑
如何进入Viewtable窗:
在SAS浏览器或数据库对话窗中双击数据
集图标
键入命令:VT 数据集名
32
®®
浏览和编辑SAS数据集
§1 使用Viewtable 浏览与编辑
除了Viewtable窗口外,
FSV等也提供了字符型界面的数据集的浏
览和编辑的窗口,它打开数据集的速度更
快。
Insight和Analyst Application也提供了对数
据集浏览和编辑的窗口,他们在生成新变
量方面有更强的功能
34
®®
浏览和编辑SAS数据集
§2 用Viewtable新建数据集
建立SAS数据集的各种途径
数据存于纸上
需直接键入
数据存于文本文件
数据存于流行
数据库文件中
用VIEWTABLE
FSEDIT FSVIEW
编程:用DATA步
用Import菜单
用SAS/ACCESS
36
®®
浏览和编辑SAS数据集
§2 用Viewtable新建数据集 设定变量属性
为了新建一个SAS数据集,一般应该先规定
输入变量的属性(变量名,标题名,类型,
长度,输入输出格式)。
对格式和其它属性无特殊要求的也可先输入
数据,而后设定各个变量的属性。
命令:VT。
选中变量名在弹出菜单选Column Attributes
37先输入数据举例.另法:File=>Add Item=>Table
®®
浏览和编辑SAS数据集
§2 用Viewtable新建数据集 设定变量属性
数据集变量的属性描述:
变量名(Name):字母或下划线开始且不超过
8个字符或数字构成
类型(Type):数值型、字符型
长度(Length):缺省8字节( 200)
标题名(Label): 缺省40字节
输入格式(Informat):$输入格式名
输出格式(Format): $输出格式名
必须
可选
38
®®
浏览和编辑SAS数据集
§2 用Viewtable新建数据集 设定变量属性
在数据集的一条记录的某个变量无数据时,称为
缺失值(Missing Value)。
字符型变量的缺失值用空格符表示
数值型变量的缺失值用句号“ . ”表示
NAME SEX POSITION AGE SALARY
Alex M A 35 1500
Linda F 28 1400
Simon M C 45
39
®®
浏览和编辑SAS数据集
§2 用Viewtable新建数据集 设定变量属性
输入、输出格式例:
12,
$12,
输入数据 输入格式
实际存储
数据值
输出格式
输出数据
12,
$12,
40
®®
浏览和编辑SAS数据集
§2 用Viewtable新建数据集 设定变量属性
日期输入、输出格式例:
20OCT97
20/10/97
1997/10/20
DATE7.
DDMMYY8.
yymmdd10.
输入数据 输入格式
实际存储
数据值
13807
输出格式
date9.
mmddyy6.
yymmdd8.
输出数据
20OCT1997
102097
97-10-20
1960,1,10
1960,1,21
1960,2,131
1961,1,1366
41转换:data _null_; x=put(today(), date7.);put x;run; datetry
®®
浏览和编辑SAS数据集
§2 用Viewtable新建数据集 设定变量属性
几种常用的输入、输出格式:
$w.
DATEw.
MMDDYYw.
标准的数字型格式
标准的字符型格式
数字中嵌入逗号
数字中嵌入逗号,前加$
日期格式
日期格式
42
®®
浏览和编辑SAS数据集
§2 用Viewtable新建数据集 设定变量属性
利用HELP查找SAS系统提供的输入、出格式
Help下拉菜单 SAS System
目录:
SAS Language
索 引:
SAS Informats and Formats
-- Contents
SAS Formats
and Informats
从分类功能找
从函数名找
43
®® SAS编程基本概念
用户提交的 SAS 程序由许多程序步构成。
数据步
Data Step
过程步
Proc Step
原始
数据
SAS表
SAS表
报告
数据步常用于创建数据集
过程步常用于处理数据集(生成
报表、图形和实现数据分析功能)
44
®® SAS编程基本概念
SAS的程序由两种程序步(Step)构成:
数据步(DATA STEP):
以(DATA)语句开始,创建和处理SAS
数据集
过程步(PROC STEP):
以(PROC)语句开始,用于处理SAS数据
45
®® SAS编程基本概念
SAS的每个程序步都由语句构成。
每个语句常以开始的关键词称呼,用分号
表示语句的结束。
SAS语句书写的格式较为任意
语句可以在任一列开始和结束
词间可任意加入空格和换行
一个语句可跨多行,多个语句可写在一
行
良好的书写格式便于程序的阅读 46看例e029, e029_2
®®
浏览和编辑SAS数据集
§3 打印数据集
基于数据集的报表从其内容来看大体有两类:
一类是提供数据集的详细数据为主,在SAS
中是采用Report窗口或用过程print或report
另一类是只含各种分类的汇总信息,在SAS
中是采用过程 tabulate 或与此联系的菜单窗
口
47
®®
浏览和编辑SAS数据集
§3 打印数据集
PROC PRINT DATA=SAS-data-set;
RUN;
编程:
48
®®
浏览和编辑SAS数据集
§3 打印数据集
PROC PRINT DATA=SAS-data-set <NOOBS>;
ID variable;
VAR variables;
WHERE where-expression;
SUM variables;
BY by-variables;
PAGEBY by- variables;
RUN;
49
®®
浏览和编辑SAS数据集
§3 打印数据集 Format的使用
若数据集形成时已为变量规定format,则在
打印输出时自动运用这一format。
在打印程序中使用format语句,可为变量临
时设定使用的format。 format语句的形式为
FORMAT variables format ;
例 format date yymmdd10.;
51
®®
浏览和编辑SAS数据集
§3 打印数据集 Format的使用
FORMAT语句:
FORMAT variables format ;
定义用户格式:
PROC FORMAT;
VALUE format-name
range1=label
range2=label
. . . . . ;
52
®®
浏览和编辑SAS数据集
§3 打印数据集 Label的使用
LABEL variable1=label
variable2=label
. . . . . . . . . .;
Print 选项 : SPLIT=符号
Label语句:
53
®®
浏览和编辑SAS数据集
§3 打印数据集 标题、脚注和选项
TITLEn text;
FOOTNOTEn text;
标题、脚注和选项:
OPTIONS options;
54
®®
浏览和编辑SAS数据集
§3 打印数据集 系统相关的选项
与PRINT有关的一些系统选项
CENTER | NOCENTER
DATE | NODATE
NUMBER | NONUMBER
LINESIZE=width
PAGESIZE=n
PAGENO=n
定义方法
OPTIONS 语句
OPTIONS 窗口
55
®®
浏览和编辑SAS数据集
§3 打印数据集 过程语句的选项
PROC PRINT 选项;
PROC PRINT 的一些选项:
HEADING=v|h
LABEL
SPLIT=符号
WIDTH=Full|Min|U
56
®®
浏览和编辑SAS数据集
§3 打印数据集 Printto的使用
proc printto print='文件名'
log='文件名' new;
过程步
proc printto;
将打印结果和运行信息直接记入文件
filename fileref '文件名';
57prtto
®® 第四章 生成SAS数据集
要 求
会用数据步输入简单的数据集
会使用Import和Access窗口
菜单系统
58
®® 第四章 生成SAS数据集
建立SAS数据集的各种途径
数据存于纸上
需直接键入
数据存于文本文件
数据存于流行
数据库文件中
用VIEWTABLE
FSEDIT FSVIEW
编程:用DATA步
用Import菜单
用SAS/ACCESS
§
59
®®
第四章 生成SAS数据集
§1 使用数据步新建数据集
SAS的程序由两种程序步(Step)构成:
数据步(DATA STEP):
以(DATA)语句开始,创建和处理SAS
数据集
过程步(PROC STEP):
以(PROC)语句开始,用于处理SAS数据
60
®®
第四章 生成SAS数据集
§1 使用数据步新建数据集
要求:由以文本方式存放数据文件生成SAS数据集
Data步程序
61看Imptdt1-Imptdt4 不同格式文本本件
®®
第四章 生成SAS数据集
§1 使用数据步新建数据集
自文本数据文件生成 SAS 数据集
的DATA步的一般形式:
DATA SAS数据集名;
变量属性设定语句;
INFILE 文件名 FIRSTOBS=n1 OBS=n2;
INPUT 语句;
其它语句;
RUN;
62
®®
DATA步中设定变量属性的语句:
第四章 生成SAS数据集
§1 使用数据步新建数据集
LENGTH 变量名 <$>长度 . . . ;
INFORMAT 变量名 输入格式 . . .;
FORMAT 变量名 输出格式 . . .;
LABEL 变量名= 字符串输入格式 . .
.;Length还决定了变量在数据集中的次序
63
®®
第四章 生成SAS数据集
§1 使用数据步新建数据集
INPUT 语句
设定的格式:
List: 变量名 <$><:输入格式>
Colunm: 变量名 <$>始列-终列
Formatted: 指针 变量名 输入格式 指针:@n|+n
Named: 变量名= <$>始列-终列
输入换行控制:@:不换行等待下一个Input语句
@@: 形成输出记录时输入也不换行
INPUT <设定1><. . .设定n > <@|@@>;
64
®®
INPUT 语句- List格式(自由格式)
第四章 生成SAS数据集
§1 使用数据步新建数据集
INPUT 变量名 <$><:输入格式>
变量名 <$><:输入格式>. . . ;
源文件中字段件至少有一个空格或特定字符分隔
字段只能按序输入
缺失值必须用句点表示
字符变量的值不能含有空格,长度一般不超过8
66P
®®
INPUT 语句- Column格式
第四章 生成SAS数据集
§1 使用数据步新建数据集
INPUT 变量名 <$>始列-终列
变量名 <$>始列-终列. . . ;
源文件中各变量所在位置必须是规则的
每个变量按指定指定的始列终列读入
字符变量的长度不受缺省值的限制(但<=200)
变量值可含空格,变量输入次序可以是任意的
任何字段或起部分可重复读入
68p034 无空
®®
INPUT 语句- Formatted格式
第四章 生成SAS数据集
§1 使用数据步新建数据集
INPUT 指针 变量名 输入格式
指针 变量名 输入格式. . . ;
指针:@n|+n
源文件中各变量所在位置必须是规则的
每个变量按输入格式读入指定的长度
可用指针控制下一个变量读入的始点
变量值可含空格,变量输入次序可以是任意的
任何字段或起部分可重复读入
69P
®®
第四章 生成SAS数据集
§1 使用数据步新建数据集
自文本数据文件生成
DATA SAS-data-set ;
变量属性设定语句;
INFILE filename
<FIRSTOBS=n1
OBS=n2>;
INPUT 语句;
其它语句;
RUN;
直接输入数据
DATA SAS-data-set ;
变量属性设定语句;
INPUT 语句;
其它语句;
CARDS;
数据行;
RUN;
71p036_1直接
®®
第四章 生成SAS数据集
§2 使用Import菜单由文本文件读入
SAS的Import/Export菜单界面提供一个使用鼠
标器的图形界面
Import: 读入外部文件并写为SAS数据集
Export: 读入SAS数据集并写为外部文件格
式存放
在Windows操作系统中,外部文件指:文本
文件,dbf,xls, wk1, wk3 等格式的文件
72
®®
第四章 生成SAS数据集
§2 使用Import菜单由文本文件读入
由下拉菜单
File Import(Export)
按提示逐步转换外部文件为SAS 数据集(或将
SAS数据集转换为外部文件)
对一些用户规定格式的文件提供EFI (External
File Interface 外部文件界面)
73
®®
第四章 生成SAS数据集
§2 使用Import菜单由文本文件读入
为了实现其它文件格式与SAS数据集间的转
换,需提供:
读(写)其它格式表的地址与名
要转换的行与列
SAS数据集的属性
74
®®
第四章 生成SAS数据集
§3 使用Access 访问其它数据库文件
SAS/ACCESS提供了透明地访问其它软件产
品提供的数据文件的能力
SAS/ACCESS 支持的软件产品有:
DB2, ORACLE, SYBASE, INFORMIX,
SQL Server, INGRES, dBASE, EXCEL,
ODBC, Lotus1-2-3 等。
77
®®
第四章 生成SAS数据集
§3 使用Access 访问其它数据库文件
为了实现其它文件格式与SAS数据集间的转
换,需提供:
读(写)其它格式表的地址与名称
要转换的行与列
SAS数据集的属性
78
®®
第四章 生成SAS数据集
§3 使用Access 访问其它数据库文件
使用ACCESS访问其它格式数据文件的步骤
外部数据文件
ACCESS描述器 *.sa2
View描述器 *.sv2 View描述器 *.sv2
SAS数据集 *.sd2 SAS数据集 *.sd2
79
®®
第四章 生成SAS数据集
§3 使用Access 访问其它数据库文件
使用ACCESS 访问其它格式的数据文件,
可以通过Access窗口交互式地完成,
也可以由编程实现
进Access窗:
下拉菜单:
Global Access Access database files
发命令:Access
, ,
®®
第四章 生成SAS数据集
§3 使用Access 访问其它数据库文件
生成存取描述文件:
PROC ACCESS DBMS=DBF|XLS;
CREATE 库名.文件名.ACCESS;
PATH=外部数据文件路径;
RUN;
83p128_1 建Access
®®
由存取描述文件生成VIEW:
第四章 生成SAS数据集
§3 使用Access 访问其它数据库文件
PROC ACCESS DBMS=DBF|XLS
ACCDES=描述文件名;
CREATE 库名.文件名.VIEW;
SELECT ALL|变量名列;
RUN;
84p128_2 建View
®®
第四章 生成SAS数据集
§3 使用Access 访问其它数据库文件
生成描述文件与VIEW一步完成:
PROC ACCESS DBMS=DBF|XLS;
CREATE 库名.文件名.ACCESS;
PATH=外部数据文件路径;
CREATE 库名.文件名.VIEW;
SELECT ALL|变量名列;
RUN;
85p129 合一
®®
第四章 生成SAS数据集
§3 使用Access 访问其它数据库文件
生成其它格式的数据文件:
PROC DBLOAD DBMS=DBF|XLS
DATA=SAS数据集名;
PATH 外部数据文件路径;
LOAD;
RUN;
86
®® 第五章 加工SAS数据集
要 求
会使用数据步对数据集作简单的
加工(增删改变量等)
会使用SQL Query窗查询加工数
据
87
®® 第五章 加工SAS数据集
加工SAS数据集
增改删数据集中的变量和记录
菜单:
SQL Query窗
编程:
数据步
在生成SAS数据集时进行:
在Input语句后加入各种语句
对已有的SAS数据集加工:
在Set语句后加入各种语句
88
®®
第五章 加工SAS数据集
§2 使用SQL Query窗
进入SQL Query窗:
发命令:Query
下拉菜单:Globals Access Query
进窗后,选中要看或加工的数据集 OK
89
®®
第五章 加工SAS数据集
§2 使用SQL Query窗
选变量(由左窗移至右窗):
Actions Run Query Run Immediate
加label, 改format, 变量排次序
建表(建数据集):
File Create Table…(Create View…)
其他: Show query, Save query,...
90
®®
第五章 加工SAS数据集
§2 使用SQL Query窗
选观测:
Locals Where Conditions for Subset
观测排序:
Locals Order by…
建立新的变量:
进入变量选择窗后按Build a column 键
91
®®
第五章 加工SAS数据集
§1 用数据步加工
加工SAS数据集
增改删数据集中的变量和记录
菜单:
SQL Query窗
编程:
数据步
在生成SAS数据集时进行:
在Input语句后加入各种语句
对已有的SAS数据集加工:
在Set语句后加入各种语句
92
®®
第五章 加工SAS数据集
§1 用数据步加工
增改删数据集中的记录或变量
或在INPUT语句后 或用SET语句并
加入其它SAS语句: 加入其它SAS语句
DATA new;
. . . .;
INPUT . . .;
其它 SAS 语句
;
RUN;
DATA new;
SET old;
其它 SAS 语句;
RUN;
93
®®
第五章 加工SAS数据集
§1 用数据步加工
选择变量
在DATA 语句中用选项DROP= 和 KEEP=
在SET 语句中用选项DROP= 和 KEEP=
在DATA步中加入DROP语句和 KEEP语句
94操作, p047
®®
第五章 加工SAS数据集
§1 用数据步加工--加减变量
选择观测
保留
IF expression;
剔除
IF expression THEN DELETE;
95操作:class, if 年龄,性别
®®
第五章 加工SAS数据集
§1 用数据步加工--选择观测
选择观测
在DATA 语句中用选项WHERE=
在SET 语句中用选项WHERE=
在SET 语句中用选项FIRSTOBS= 和/
或OBS=
96操作
®®
第五章 加工SAS数据集
§1 用数据步加工--记录排序
用PROC SORT语句对SAS数据集排序
PROC SORT DATA=SAS数据集
OUT=SAS数据集;
BY descending 排序变量1. . . .
;
RUN;
97p061或用class
®®
第五章 加工SAS数据集
§2 用数据步加工
DATA步中常用的语句:
设定变量属性的语句
赋值语句
条件语句
循环语句
转移语句
OUTPUT语句与PUT语句
98
®®
赋值语句的一般形式
第五章 加工SAS数据集
§2 用数据步加工--赋值语句
var = expression
var 新建或修改的变量名
expression 由变量、SAS函数和四则运算
(+, -,*,/,**)构成的表示式
赋值语句将表示式的值赋给变量
99操作:class, W/H h inch -> cm
®®
SAS函数共19类
调用形式:
第五章 加工SAS数据集
§2 用数据步加工-- SAS函数
其中变元可以是常数、变量、函数或表示式
例:sqrt(x), probnorm(x), tinv(x,df)
sum(of x1, x10-x20, x25)
函数名(OF 变量名列)
函数名(变元<, 变元,. . .> )
100fct132 取整,fct134 平均,求和
®®
第五章 加工SAS数据集
§2 用数据步加工-- SAS函数
利用HELP查找SAS系统提供的各种函数
Help下拉菜单 SAS System
目录:
SAS Language 索引:
SAS Function
-- Contents
从分类功能找
从函数名找
SAS Functions
101
®®
第五章 加工SAS数据集
§2 用数据步加工-- SAS函数
102
®®
第五章 加工SAS数据集
§2 用数据步加工--SAS函数
测试函数功能的一个简单的程序:
data _null_;
y=sqrt(3);
put y= ;
run;
103
®®
第五章 加工SAS数据集
§2 用数据步加工-- SAS函数
SAS日期常数和函数:
直接作为数字型常数:
ddMMMyy D
一些操作日期的函数:
DATE(), TODAY(), DATETIME(), TIME(),
YEAR(SAS-date), QTR(SAS-date), MONTH(SAS-date)
DAY(SAS-date), HOUR(datetime|time), MINUTE(. . .),
MDY(month,day,year), HMS(hour,minute,second),
DHMS(date,hour,minute,second)
104p050 日期函数
®®
条件语句
IF 条件表达式 THEN 可执行语句;
ELSE 可执行语句 ;
第五章 加工SAS数据集
§2 用数据步加工--条件语句
比较操作符:
<, LT, >, GT, =EQ, LE, GE, NE, IN
逻辑操作符:
& AND, - OR, ^ NOT.
IF expression THEN
DO;
statements ; . . .
END;
ELSE
DO;
statements ; . . .
END;
105书上例,p41开始