95
® 1 SAS 基基基基基基 SAS Institute (Shanghai) Co., Ltd.

SAS 基础培训课程

  • Upload
    tokala

  • View
    244

  • Download
    1

Embed Size (px)

DESCRIPTION

SAS 基础培训课程. SAS Institute (Shanghai) Co., Ltd. SAS 系统. SAS 系统是用于数据分析与决策支持的大 型集成式模块化软件包。 ( 其早期的名称为 S tatistical A nalysis S ystem ). SAS 系统是用于决策支持 的大型集成信息系统. SAS 系统主要完成以数据为中心的四大任务 : 数据访问 数据管理 数据呈现 数据分析. SAS 系统介绍. The SAS System. 数据访问. 数据管理. 分 布 式 - PowerPoint PPT Presentation

Citation preview

Page 1: SAS  基础培训课程

®

1

SAS 基础培训课程

SAS Institute (Shanghai) Co., Ltd.

Page 2: SAS  基础培训课程

®

2

SAS 系统

SAS 系统是用于数据分析与决策支持的大型集成式模块化软件包。

(其早期的名称为

Statistical Analysis System )

Page 3: SAS  基础培训课程

®

3

SAS 系统是用于决策支持的大型集成信息系统

SAS 系统主要完成以数据为中心的四大任务 :

数据访问 数据管理 数据呈现 数据分析

Page 4: SAS  基础培训课程

®

4

SAS 系统介绍

DATA

数据访问数据访问

Base SASBase SASACCESSACCESS

MDDB ServerMDDB ServerODBCODBC

数据管理数据管理

Base SASBase SASFSPFSP

SHARESHARECONNECTCONNECT

ASSISTASSISTWarehouse Admin.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 SASGRAPH, GIS, CALC, GRAPH, GIS, CALC,

INSIGHT,INSIGHT,SPECTRAVIEW, SPECTRAVIEW,

ASSISTASSIST

开开发发工工具具

AFAFEISEISFSPFSP

分分布布式式计计算算环环境境

CONNECTCONNECTSHARESHAREIntrNETIntrNET

The SAS SystemThe SAS System

Page 5: SAS  基础培训课程

®

5

SAS 系统的构成

SAS 系统是一个可由几个到二、三十个工具模块及面向行业的子系统组成的可伸缩系统。其模块按功能大体有四类:

数据库及其管理 面向对象的 4GL 开发平台 各类堪称行业标准的分析工具 方便用户的外层技术(多平台支持 , 开 放环境,网络计算及分布处理)

Page 6: SAS  基础培训课程

®

6

SAS 系统软件由模块构成

数据库部分: BASE SAS, FSP, ACCESS,..分析核心: STAT, ETS, QC, OR, IML, . . . 开发呈现工具: AF, EIS, GRAPH, . . . 分布处理与数据仓库: CONNECT, WA, ..

Page 7: SAS  基础培训课程

®

数据进入

管理 组织 利用

提交信息 (Information Delivery):SAS 的核心业务

信息知识输出

Page 8: SAS  基础培训课程

®

8

SAS 系统简介

要 求进入 SAS 系统发常用命令,切换窗口进 Assist 和 Desktop 窗口

Page 9: SAS  基础培训课程

®

9

启动 SAS :在 Windows 桌面系统下双击SAS 图标

SAS 系统简介§1 SAS 提供的基本运行环境

或运行 SAS 系统目录下 (例 C:\SAS) 的可执行程序 sas.exe

常用的是交互运行方式。也可用提交批作业方式运行的

Page 10: SAS  基础培训课程

®

10工作界面介绍

SAS 系统简介§1 SAS 提供的基本运行环境

SAS 为交互方式运行提供的环境显示管理系统

下拉菜单(弹出菜单)命令框、工具栏三个基本窗口

PROGRAM EDITOR 窗口LOG 窗口, OUTPUT 窗口

Page 11: SAS  基础培训课程

®

11

SAS 系统简介§1 SAS 提供的基本运行环境 -- 三个基本窗口

访问和编辑已有的 SAS 程序编写新的 SAS 程序递交 SAS 程序将 SAS 程序存为文件

是一个基本的窗口,缺省地打开依次记录 SAS 进程中各程序运行的信息可用命令清空

是一个基本的敞口,缺省地打开依次记录程序输出的结果有结果输出时自动转到前台

Page 12: SAS  基础培训课程

®

12

SAS 系统简介§1 SAS 提供的基本运行环境

SAS 常用的交互式运行方式:用 SAS 编程实现各种任务用 SAS 提供的菜单系统实现各种任务 用 SAS/ASSIST

用 SAS 桌面系统

Page 13: SAS  基础培训课程

®

13发命令

SAS 系统简介§1 SAS 提供的基本运行环境

在交互式操作中用命令指挥显示管理系统、切换窗口和完成各种特定的功能

发布命令有四种方式: 在命令框直接键入命令; 使用下拉菜单; 使用工具栏。 按功能键;

Page 14: SAS  基础培训课程

®

14

SAS 系统简介§1 SAS 提供的基本运行环境

常用的其它窗口:KEYS 查看及改变功能键的设置LIBNAME 查看已存在的 SAS 数据库 DIR 查看某个 SAS 数据库的内容VAR 查看 SAS 数据集的有关信息OPTIONS 查看及改变 SAS 的系统设置

Page 15: SAS  基础培训课程

®

15进菜单系统

SAS 系统简介§1 SAS 提供的基本运行环境

进入 SAS/ASSIST使用工具栏图标发命令 ASSIST下拉菜单选 Globals

ASSIST

进入 SAS 桌面系统 发命令 DESKTOP 下拉菜单选 Globals Desktop

Page 16: SAS  基础培训课程

®

16P005

SAS 系统简介 § 2 运行一个简单的 SAS 程序

运行一个简单的 SAS 程序 :

在 PROGRAM EDITOR 窗口中键入程序:提交程序( SUBMIT )查看 LOG 窗口的信息调出提交的程序( RECALL )并修改,再次提交在 OUTPUT 窗口查看运行结果存储程序

Page 17: SAS  基础培训课程

®

17

SAS 系统对数据的管理

要 求设定、浏览 SAS 数据库打开 SAS 数据集及其变量窗口

Page 18: SAS  基础培训课程

®

18

SAS 系统对数据的管理

SAS 对数据的分析与呈现都是面对 SAS 数据集进行的

SAS 数据集是一种 SAS 文件SAS 文件是由 SAS 系统创建和管理的有特殊结构的文件。包括 SAS 数据集和 SAS 目录册(CATALOG) 等

Page 19: SAS  基础培训课程

®

19

SAS 系统对数据的管理

数据直接输入 流行的数据库 其它文件格式

SAS 数据集

SAS 应用程序

Page 20: SAS  基础培训课程

®

20

SAS 系统对数据的管理§1 SAS 数据库

SAS 数据集存储在 SAS 数据库中SAS 数据库还存储其它 SAS 专用文件

SAS 数据库文件用两级命名方式定名: libname.SAS-filename

( 库标记 . 文件名 )

SAS 数据集

SAS 数据库

Page 21: SAS  基础培训课程

®

21

SAS 系统对数据的管理§1 SAS 数据库

SAS 数据库有永久库和临时库两种临时库:名为 WORK, 系统自动指定永久库:系统自动指定名为 SASUSER,

(SASHELP 等 ).

其它可由用户指定

Page 22: SAS  基础培训课程

®

22操作:看库

SAS 系统对数据的管理§1 SAS 数据库

用工具栏中的图标进入库管理对话窗或键入命令 Dlglib

或 Global Access Display Liberary

可进入库管理窗口浏览库内容和库文件或用 LIBNAME 命令进入 Libname 窗口用 DIR 命令进入 Dir 窗口用 VAR 命令进入 Var 窗口

Page 23: SAS  基础培训课程

®

23

SAS 系统对数据的管理§1 SAS 数据库

不同的主操作系统下 SAS 数据库文件以不同方式与主操作系统下的文件组织相联系

在 Windows 下每个 SAS 数据库置于某个子目录之中

例 :SASUSER: C:\SAS\SASUSER

WORK: C:\SAS\SASWORK

COURSE: C:\USERS\ZDW

Page 24: SAS  基础培训课程

®

24连库 Libname 库名 ('目录1' '目录2')

SAS 系统对数据的管理§1 SAS 数据库 设定

用工具栏中的图标进入库管理对话窗 ,按下 New Library 按键

使用 LIBNAME 语句可以指定 SAS 库标:LIBNAME 库名 SAS 数据库挘

在 Windows 环境下:LIBNAME 库名 目录名挘LIBNAME course ‘c:\course’ ;

Page 25: SAS  基础培训课程

®

25

SAS 系统对数据的管理§2 SAS 数据集

两种类型的数据对象:SAS 数据集 (Data sets) :

包含描述部分和数据部分SAS 数据视窗 (Data View) :

只含描述部分(变量名,属性,长度,标题

格式,创建与修改日期)

Page 26: SAS  基础培训课程

®

26

SAS 系统对数据的管理§2 SAS 数据集 : 描述部分

Page 27: SAS  基础培训课程

®

27

SAS 系统对数据的管理§2 SAS 数据集 : 描述部分

Global Access Display Liberary . . .

Desktop SAS Explore File Pop menu

Contents

Ass D.Manag. Utilities Contents.. B

& E Dst Attr.

Proc contents data=SAS 数据集 <position>;run;

Page 28: SAS  基础培训课程

®

28

SAS 系统对数据的管理§2 SAS 数据集 : 数据部分

变 量 (字段、列 )VAR1 VAR2 . . . VARn

观测 1 123 aBc … 12Mar90

观测 2 456 XyZ … 01Jul97

观测 3 12.34 123 … 31Dec56

观测 4 0.1234 Lm3n … 01jan80

记录或行

SAS 数据集的数据部分是由数据构成的矩形表

缺失值 (Missing Value) 。字符型变量的缺失值用空格符表示数值型变量的缺失值用句号“ . ” 表示

Page 29: SAS  基础培训课程

®

29

SAS 系统对数据的管理§2 SAS 数据集看数据集

用工具栏中的图标进入库管理对话窗选中数据集在弹出菜单选 Open table view

发命令: VT( 或 FSV) 数据集名提交程序: proc print data= 数据集名 ;

run;

Page 30: SAS  基础培训课程

®

30

浏览和编辑 SAS 数据集

要 求使用 ViewTable 浏览、编辑和新建 SAS 数据集使用 Proc Print 输出 SAS 数据集

在 SAS 系统中浏览和编辑 SAS 数据集必须先设定 SAS 数据库,将要浏览和编辑的数据集存放在已设定的 SAS 数据库中

Page 31: SAS  基础培训课程

®

31

浏览和编辑 SAS 数据集§1 使用 Viewtable 浏览与编辑

Viewtable 提供一个显示数据集的窗口。它具有对数据集的浏览、编辑和创建的功能

Viewtable 提供两种显示数据集的方式:Table View 以矩阵表格形式显示数据,一次可显示多条记录Form View 一次只显示一条记录

Page 32: SAS  基础培训课程

®

32

浏览和编辑 SAS 数据集§1 使用 Viewtable 浏览与编辑

如何进入 Viewtable 窗:在 SAS 浏览器或数据库对话窗中双击数据集图标键入命令: VT 数据集名

Page 33: SAS  基础培训课程

®

34

浏览和编辑 SAS 数据集§1 使用 Viewtable 浏览与编辑

除了 Viewtable 窗口外,FSV 等也提供了字符型界面的数据集的浏览和编辑的窗口,它打开数据集的速度更快。Insight 和 Analyst Application 也提供了对数据集浏览和编辑的窗口,他们在生成新变量方面有更强的功能

Page 34: SAS  基础培训课程

®

36

浏览和编辑 SAS 数据集§2 用 Viewtable 新建数据集

建立 SAS 数据集的各种途径数据存于纸上需直接键入

数据存于文本文件

数据存于流行数据库文件中

用 VIEWTABLE FSEDIT FSVIEW

编程:用 DATA步

用 Import 菜单

用 SAS/ACCESS

Page 35: SAS  基础培训课程

®

37先输入数据举例.另法:File=>Add Item=>Table

浏览和编辑 SAS 数据集§2 用 Viewtable 新建数据集 设定变量属性

为了新建一个 SAS 数据集,一般应该先规定输入变量的属性 ( 变量名,标题名,类型,长度,输入输出格式)。

对格式和其它属性无特殊要求的也可先输入数据,而后设定各个变量的属性。

命令: VT 。选中变量名在弹出菜单选 Column Attributes

Page 36: SAS  基础培训课程

®

38

浏览和编辑 SAS 数据集§2 用 Viewtable 新建数据集 设定变量属性

数据集变量的属性描述:变量名 (Name) :字母或下划线开始且不超过

8 个字符或数字构成类型 (Type) :数值型、字符型长度 (Length) :缺省 8字节 ( 200)

标题名 (Label): 缺省 40字节输入格式 (Informat) : $ 输入格式名 w.d

输出格式 (Format): $ 输出格式名 w.d

} 必须

} 可选

Page 37: SAS  基础培训课程

®

39

浏览和编辑 SAS 数据集§2 用 Viewtable 新建数据集 设定变量属性

在数据集的一条记录的某个变量无数据时,称为缺失值 (Missing Value) 。字符型变量的缺失值用空格符表示数值型变量的缺失值用句号“ . ”表示

NAME SEX POSITION AGE SALARYAlex M A 35 1500Linda F 28 1400Simon M C 45

Page 38: SAS  基础培训课程

®

40

浏览和编辑 SAS 数据集§2 用 Viewtable 新建数据集 设定变量属性

输入、输出格式例:

12234.123412,234.1234$12,234.1234

8.2comma8.2dollar8.2

输入数据 输入格式

实际存储 数据值12234.12

输出格式8.2comma8.2dollar8.2

输出数据12234.1212,234.12$12,234.12

Page 39: SAS  基础培训课程

®

41转换:data _null_; x=put(today(), date7.);put x;run; datetry

浏览和编辑 SAS 数据集§2 用 Viewtable 新建数据集 设定变量属性

日期输入、输出格式例:

20OCT9720/10/971997/10/20

DATE7.DDMMYY8.yymmdd10.

输入数据 输入格式

实际存储 数据值 13807

输出格式date9.mmddyy6.yymmdd8.

输出数据20OCT199710209797-10-20

1960,1,101960,1,211960,2,1311961,1,1366

Page 40: SAS  基础培训课程

®

42

浏览和编辑 SAS 数据集§2 用 Viewtable 新建数据集 设定变量属性

几种常用的输入、输出格式:w.d $w.COMMAw.dDOLLARw.dDATEw.MMDDYYw.

标准的数字型格式 标准的字符型格式数字中嵌入逗号数字中嵌入逗号,前加 $日期格式 日期格式

Page 41: SAS  基础培训课程

®

43

浏览和编辑 SAS 数据集§2 用 Viewtable 新建数据集 设定变量属性

利用 HELP 查找 SAS 系统提供的输入、出格式Help 下拉菜单 SAS System

目录: SAS Language

索 引:SAS Informats and Formats -- Contents

SAS Formatsand Informats

从分类功能找

从函数名找

Page 42: SAS  基础培训课程

®

44

SAS 编程基本概念

用户提交的 SAS 程序由许多程序步构成。

数据步Data Step

过程步Proc Step

原始数据

SAS表

SAS表 报告

数据步常用于创建数据集

过程步常用于处理数据集 (生成报表、图形和实现数据分析功能 )

Page 43: SAS  基础培训课程

®

45

SAS 编程基本概念

SAS 的程序由两种程序步 (Step) 构成:数据步 (DATA STEP):

以 (DATA) 语句开始,创建和处理 SAS

数据集过程步 (PROC STEP):

以 (PROC) 语句开始,用于处理 SAS 数据

Page 44: SAS  基础培训课程

®

46看例e029, e029_2

SAS 编程基本概念

SAS 的每个程序步都由语句构成。每个语句常以开始的关键词称呼,用分号表示语句的结束。SAS 语句书写的格式较为任意

语句可以在任一列开始和结束词间可任意加入空格和换行一个语句可跨多行 , 多个语句可写在一行

良好的书写格式便于程序的阅读

Page 45: SAS  基础培训课程

®

47

浏览和编辑 SAS 数据集 §3 打印数据集

基于数据集的报表从其内容来看大体有两类 :

一类是提供数据集的详细数据为主,在 SAS

中是采用 Report 窗口或用过程 print 或 repo

rt

另一类是只含各种分类的汇总信息,在 SAS

中是采用过程 tabulate 或与此联系的菜单窗口

Page 46: SAS  基础培训课程

®

48

浏览和编辑 SAS 数据集 §3 打印数据集

PROC PRINT DATA=SAS-data-set;RUN;

编程:

Page 47: SAS  基础培训课程

®

49

浏览和编辑 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;

Page 48: SAS  基础培训课程

®

51

浏览和编辑 SAS 数据集 §3 打印数据集 Format 的使用

若数据集形成时已为变量规定 format ,则在打印输出时自动运用这一 format 。

在打印程序中使用 format 语句,可为变量临时设定使用的 format 。 format 语句的形式为

FORMAT variables format ;

例 format date yymmdd10.;

Page 49: SAS  基础培训课程

®

52

浏览和编辑 SAS 数据集 §3 打印数据集 Format 的使用

FORMAT 语句:FORMAT variables format ;

定义用户格式:PROC FORMAT; VALUE format-name range1=label range2=label . . . . . ;

Page 50: SAS  基础培训课程

®

53

浏览和编辑 SAS 数据集 §3 打印数据集 Label 的使用

LABEL variable1=label

variable2=label

. . . . . . . . . .;Print 选项 : SPLIT=符号

Label 语句:

Page 51: SAS  基础培训课程

®

54

浏览和编辑 SAS 数据集 §3 打印数据集 标题、脚注和选项

TITLEn text;

FOOTNOTEn text;

标题、脚注和选项:

OPTIONS options;

Page 52: SAS  基础培训课程

®

55

浏览和编辑 SAS 数据集 §3 打印数据集 系统相关的选项

与 PRINT 有关的一些系统选项CENTER | NOCENTER

DATE | NODATE

NUMBER | NONUMBER

LINESIZE=width

PAGESIZE=n

PAGENO=n

定义方法OPTIONS 语句OPTIONS 窗口

Page 53: SAS  基础培训课程

®

56

浏览和编辑 SAS 数据集 §3 打印数据集 过程语句的选项

PROC PRINT 选项 ;PROC PRINT 的一些选项 :

HEADING=v|h

LABEL

SPLIT=符号WIDTH=Full|Min|U

Page 54: SAS  基础培训课程

®

57prtto

浏览和编辑 SAS 数据集 §3 打印数据集 Printto 的使用

proc printto print=' 文件名 ' log=' 文件名 ' new; 过程步proc printto;

将打印结果和运行信息直接记入文件

filename fileref '文件名 ';

Page 55: SAS  基础培训课程

®

58

第四章 生成 SAS 数据集

要 求会用数据步输入简单的数据集会使用 Import 和 Access 窗口菜单系统

Page 56: SAS  基础培训课程

®

59

第四章 生成 SAS 数据集

建立 SAS 数据集的各种途径数据存于纸上需直接键入

数据存于文本文件

数据存于流行数据库文件中

用 VIEWTABLE FSEDIT FSVIEW

编程:用 DATA步

用 Import 菜单

用 SAS/ACCESS

§3.3

Page 57: SAS  基础培训课程

®

60

第四章 生成 SAS 数据集§1 使用数据步新建数据集

SAS 的程序由两种程序步 (Step) 构成:数据步 (DATA STEP):

以 (DATA) 语句开始,创建和处理 SAS

数据集过程步 (PROC STEP):

以 (PROC) 语句开始,用于处理 SAS 数据

Page 58: SAS  基础培训课程

®

61看Imptdt1-Imptdt4 不同格式文本本件

第四章 生成 SAS 数据集§1 使用数据步新建数据集

要求 :由以文本方式存放数据文件生成 SAS 数据集

Data步程序

Page 59: SAS  基础培训课程

®

62

第四章 生成 SAS 数据集§1 使用数据步新建数据集

自文本数据文件生成 SAS 数据集的 DATA步的一般形式:

DATA SAS 数据集名 ; 变量属性设定语句 ; INFILE 文件名 FIRSTOBS=n1 OBS=n2; INPUT 语句 ; 其它语句 ;RUN;

Page 60: SAS  基础培训课程

®

63

DATA步中设定变量属性的语句:

第四章 生成 SAS 数据集§1 使用数据步新建数据集

LENGTH 变量名 <$> 长度 . . . ;

INFORMAT 变量名 输入格式 . . .; FORMAT 变量名 输出格式 . . .; LABEL 变量名 = 字符串输入格式 . . .;

Length 还决定了变量在数据集中的次序

Page 61: SAS  基础培训课程

®

64

第四章 生成 SAS 数据集§1 使用数据步新建数据集

INPUT 语句

设定的格式: List: 变量名 <$><: 输入格式 > Colunm: 变量名 <$> 始列 -终列 Formatted: 指针 变量名 输入格式 指针 :@n|+n Named: 变量名 = <$> 始列 -终列输入换行控制: @: 不换行等待下一个 Input 语句 @@: 形成输出记录时输入也不换行

INPUT <设定 1><. . . 设定 n > <@|@@>;

Page 62: SAS  基础培训课程

®

66P

INPUT 语句 - List 格式 ( 自由格式 )

第四章 生成 SAS 数据集§1 使用数据步新建数据集

INPUT 变量名 <$><: 输入格式 >      变量名 <$><: 输入格式 >. . . ;

源文件中字段件至少有一个空格或特定字符分隔字段只能按序输入缺失值必须用句点表示字符变量的值不能含有空格,长度一般不超过8

Page 63: SAS  基础培训课程

®

68p034 无空

INPUT 语句- Column 格式

第四章 生成 SAS 数据集§1 使用数据步新建数据集

INPUT 变量名 <$> 始列 -终列    变量名 <$> 始列 -终列 . . . ;

源文件中各变量所在位置必须是规则的每个变量按指定指定的始列终列读入字符变量的长度不受缺省值的限制 (但 <=200)变量值可含空格,变量输入次序可以是任意的

任何字段或起部分可重复读入

Page 64: SAS  基础培训课程

®

69P

INPUT 语句- Formatted 格式

第四章 生成 SAS 数据集§1 使用数据步新建数据集

INPUT 指针 变量名 输入格式    指针 变量名 输入格式 . . . ; 指针 :@n|+n

源文件中各变量所在位置必须是规则的每个变量按输入格式读入指定的长度可用指针控制下一个变量读入的始点变量值可含空格,变量输入次序可以是任意的

任何字段或起部分可重复读入

Page 65: SAS  基础培训课程

®

71p036_1直接

第四章 生成 SAS 数据集§1 使用数据步新建数据集

自文本数据文件生成

DATA SAS-data-set ; 变量属性设定语句 ; INFILE filename <FIRSTOBS=n1 OBS=n2>; INPUT 语句 ; 其它语句 ;RUN;

直接输入数据

DATA SAS-data-set ; 变量属性设定语句 ; INPUT 语句 ; 其它语句 ;CARDS; 数据行 ;RUN;

Page 66: SAS  基础培训课程

®

72

第四章 生成 SAS 数据集§2 使用 Import 菜单由文本文件读入

SAS 的 Import/Export 菜单界面提供一个使用鼠标器的图形界面Import: 读入外部文件并写为 SAS 数据集Export: 读入 SAS 数据集并写为外部文件格式存放

在 Windows 操作系统中,外部文件指:文本文件, dbf , xls, wk1, wk3 等格式的文件

Page 67: SAS  基础培训课程

®

73

第四章 生成 SAS 数据集§2 使用 Import 菜单由文本文件读入

由下拉菜单File Import(Export)

按提示逐步转换外部文件为 SAS 数据集 ( 或将 SAS 数据集转换为外部文件 )

对一些用户规定格式的文件提供 EFI (Externa

l File Interface 外部文件界面 )

Page 68: SAS  基础培训课程

®

74

第四章 生成 SAS 数据集§2 使用 Import 菜单由文本文件读入

为了实现其它文件格式与 SAS 数据集间的转换,需提供:读 ( 写 ) 其它格式表的地址与名要转换的行与列SAS 数据集的属性

Page 69: SAS  基础培训课程

®

77

第四章 生成 SAS 数据集§3 使用 Access 访问其它数据库文件

SAS/ACCESS 提供了透明地访问其它软件产品提供的数据文件的能力

SAS/ACCESS 支持的软件产品有:DB2, ORACLE, SYBASE, INFORMIX,

SQL Server, INGRES, dBASE, EXCEL, OD

BC, Lotus1-2-3 等。

Page 70: SAS  基础培训课程

®

78

第四章 生成 SAS 数据集§3 使用 Access 访问其它数据库文件

为了实现其它文件格式与 SAS 数据集间的转换,需提供:读 ( 写 ) 其它格式表的地址与名称要转换的行与列SAS 数据集的属性

Page 71: SAS  基础培训课程

®

79

第四章 生成 SAS 数据集§3 使用 Access 访问其它数据库文件

使用 ACCESS 访问其它格式数据文件的步骤外部数据文件

ACCESS 描述器 *.sa2

View 描述器 *.sv2 View 描述器 *.sv2

SAS 数据集 *.sd2 SAS 数据集 *.sd2

Page 72: SAS  基础培训课程

®

80All.dbf, sas.dbf, sasxlx.xls

第四章 生成 SAS 数据集§3 使用 Access 访问其它数据库文件

使用 ACCESS 访问其它格式的数据文件,可以通过 Access 窗口交互式地完成,也可以由编程实现

进 Access 窗 :下拉菜单 :Global Access Access database files

发命令: Access

Page 73: SAS  基础培训课程

®

83p128_1 建Access

第四章 生成 SAS 数据集§3 使用 Access 访问其它数据库文件

生成存取描述文件: PROC ACCESS DBMS=DBF|XLS;

CREATE 库名 .文件名 .ACCESS; PATH= 外部数据文件路径 ; RUN;

Page 74: SAS  基础培训课程

®

84p128_2 建View

由存取描述文件生成 VIEW:

第四章 生成 SAS 数据集§3 使用 Access 访问其它数据库文件

PROC ACCESS DBMS=DBF|XLS

ACCDES= 描述文件名 ; CREATE 库名 .文件名 .VIEW; SELECT ALL| 变量名列 ;RUN;

Page 75: SAS  基础培训课程

®

85p129 合一

第四章 生成 SAS 数据集§3 使用 Access 访问其它数据库文件

生成描述文件与 VIEW 一步完成 :

PROC ACCESS DBMS=DBF|XLS; CREATE 库名 .文件名 .ACCESS; PATH= 外部数据文件路径 ; CREATE 库名 .文件名 .VIEW; SELECT ALL| 变量名列 ; RUN;

Page 76: SAS  基础培训课程

®

86

第四章 生成 SAS 数据集§3 使用 Access 访问其它数据库文件

生成其它格式的数据文件:

PROC DBLOAD DBMS=DBF|XLS DATA=SAS 数据集名 ; PATH 外部数据文件路径 ; LOAD;RUN;

Page 77: SAS  基础培训课程

®

87

第五章 加工 SAS 数据集

要 求会使用数据步对数据集作简单的加工(增删改变量等)会使用 SQL Query 窗查询加工数据

Page 78: SAS  基础培训课程

®

88

第五章 加工 SAS 数据集

加工 SAS 数据集增改删数据集中的变量和记录

菜单:SQL Query 窗

编程:数据步

在生成 SAS 数据集时进行:在 Input 语句后加入各种语句

对已有的 SAS 数据集加工 :在 Set 语句后加入各种语句

Page 79: SAS  基础培训课程

®

89

第五章 加工 SAS 数据集§2 使用 SQL Query 窗

进入 SQL Query 窗:发命令: Query

下拉菜单: Globals Access Query

进窗后,选中要看或加工的数据集 OK

Page 80: SAS  基础培训课程

®

90

第五章 加工 SAS 数据集§2 使用 SQL Query 窗

选变量(由左窗移至右窗):Actions Run Query Run Immediate

加 label, 改 format, 变量排次序建表(建数据集) :

File Create Table…(Create View…)

其他 : Show query, Save query,...

Page 81: SAS  基础培训课程

®

91

第五章 加工 SAS 数据集§2 使用 SQL Query 窗

选观测 :

Locals Where Conditions for Subset

观测排序:Locals Order by…

建立新的变量:进入变量选择窗后按 Build a column 键

Page 82: SAS  基础培训课程

®

92

第五章 加工 SAS 数据集§1 用数据步加工

加工 SAS 数据集增改删数据集中的变量和记录

菜单:SQL Query 窗

编程:数据步

在生成 SAS 数据集时进行:在 Input 语句后加入各种语句

对已有的 SAS 数据集加工 :在 Set 语句后加入各种语句

Page 83: SAS  基础培训课程

®

93

第五章 加工 SAS 数据集§1 用数据步加工

增改删数据集中的记录或变量 或在 INPUT 语句后 或用 SET 语句并加入其它 SAS 语句 : 加入其它 SAS 语句

DATA new; . . . .; INPUT . . .; 其它 SAS 语句;RUN;

DATA new; SET old; 其它 SAS 语句 ;RUN;

Page 84: SAS  基础培训课程

®

94操作, p047

第五章 加工 SAS 数据集§1 用数据步加工

选择变量

在 DATA 语句中用选项 DROP= 和 KEEP=

在 SET 语句中用选项 DROP= 和 KEEP=

在 DATA步中加入 DROP 语句和 KEEP 语句

Page 85: SAS  基础培训课程

®

95操作:class, if 年龄,性别

第五章 加工 SAS 数据集§1 用数据步加工 -- 加减变量

选择观测

保留IF expression;

剔除

IF expression THEN DELETE;

Page 86: SAS  基础培训课程

®

96操作

第五章 加工 SAS 数据集§1 用数据步加工 --选择观测

选择观测在 DATA 语句中用选项WHERE=

在 SET 语句中用选项WHERE=

在 SET 语句中用选项 FIRSTOBS= 和 /

或 OBS=

Page 87: SAS  基础培训课程

®

97p061或用class

第五章 加工 SAS 数据集§1 用数据步加工 -- 记录排序

用 PROC SORT 语句对 SAS 数据集排序

PROC SORT DATA=SAS 数据集 OUT=SAS 数据集 ; BY descending排序变量 1;RUN;

Page 88: SAS  基础培训课程

®

98

第五章 加工 SAS 数据集§2 用数据步加工

DATA步中常用的语句: 设定变量属性的语句 赋值语句 条件语句 循环语句 转移语句

OUTPUT 语句与 PUT 语句

Page 89: SAS  基础培训课程

®

99操作:class, W/H h inch -> cm

赋值语句的一般形式

第五章 加工 SAS 数据集§2 用数据步加工 -- 赋值语句

var = expression

var 新建或修改的变量名expression 由变量、 SAS函数和四则运算 (+, -,*,/,**) 构成的表示式赋值语句将表示式的值赋给变量

Page 90: SAS  基础培训课程

®

100fct132 取整,fct134 平均,求和

SAS函数共 19类调用形式:

第五章 加工 SAS 数据集§2 用数据步加工 -- SAS函数

其中变元可以是常数、变量、函数或表示式例: sqrt(x), probnorm(x), tinv(x,df) sum(of x1, x10-x20, x25)

函数名 (OF 变量名列 )

函数名 ( 变元 <, 变元 ,. . .> )

Page 91: SAS  基础培训课程

®

101

第五章 加工 SAS 数据集§2 用数据步加工 -- SAS函数

利用 HELP 查找 SAS 系统提供的各种函数Help 下拉菜单 SAS System

目录: SAS Language 索引:

SAS Function -- Contents

从分类功能找从函数名找

SAS Functions

Page 92: SAS  基础培训课程

®

102

第五章 加工 SAS 数据集§2 用数据步加工 -- SAS函数

函数类 例Ari thmeti c ABS, SQRT, DI MCharacter UPCASE, SUBSTR, TRI MDate and Ti me TODAY, DAY, MONTH, MDYMathemati cal LOG, EXP, GAMMANoncentral i ty CNONCT, FNONCT, TNONCTQuanti l e PROBI T, CI NV, TI NV, FI NV

Probabi l i ty and Densi ty PROBNORM, PROBT, POI SSON,PDF, PDM

Random Number RANUNI , RANNOR, RANEXPSampl e Stati st i c SUM, MEAN, STD, VAR, RANGESpeci al PUT, I NPUT, DI F, LAGTri gonometri c SI N, TAN, ARCOSTruncati on I NT, CEI L, ROUNDOthers ZI PSTATE

Page 93: SAS  基础培训课程

®

103

第五章 加工 SAS 数据集§2 用数据步加工 --SAS函数

测试函数功能的一个简单的程序:

data _null_;

y=sqrt(3);

put y= ;

run;

Page 94: SAS  基础培训课程

®

104p050 日期函数

第五章 加工 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)

Page 95: SAS  基础培训课程

®

105书上例,p41开始

条件语句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;