|
sas知识基础学习(上篇)
sas有两种语句:数据步和过程步。在sas中,通过数据步和过程步来使用sas语言的元素。
数据步:是一组语句组合:从外部文件中读取数据;将数据写入到外部文件中;读取sas数据文件和视图;创建sas数据文件和视图。
过程步:对sas数据集进行分析和产生报表。例如:对数据集进行分析、画图、查询和打印等操作。
逻辑库:由一组sas文件组成。sas软件系统的信息组织有两层,第一层是sas逻辑库,第二层是sas文件。
sas逻辑库是一个逻辑概念,本事并不是物理实体,它对应的实体是操作系统下一个文件夹或几个文件夹中的一组sas文件。
sas逻辑库是一组存储在同一目录下被同一引擎访问的文件,其他文件也可以存放在该目录下,但是只有能被sas识别的文件才能显示在逻辑库中。
建立sas逻辑库:用libname语句
libname libref
<engine>'sas-data-library'
其中libref是逻辑库名,sas-data-library是逻辑库对应的物理地址,engine:引擎名称。
libname resdat 'D:\resdat';
创建逻辑库resdat,对应的物理文件夹为D:\resdat
libname a
('d:\resbd\','d:\resfin\');
多个文件夹创建一个sas逻辑库
临时逻辑库:指它的内容只在启动sas时存在,退出sas时内容完全被删除。系统默认的临时逻辑库为work,引用临时库中的文件时,可以不加库名work。
永久逻辑库:它的内容在sas关闭对话之后仍旧保留,直到再次修改或删除。sas除了work以外的逻辑库都是永久库。引用永久逻辑库的文件时必须加上永久逻辑库名。例如:sashelp.Abmfolder
库引擎:是一组规定格式想逻辑库读写文件的内部命令。每个sas逻辑库都对应一个库引擎。sas逻辑库引擎是软件的一个元件用来组建sas与sas逻辑库之间的接口。
库引擎功能:读取和写入数据;列出库中的文件;删除和重命名文件。
数据集分类:sas数据集有两类:sas数据文件;sas数据视图。
sas数据文件同时描述信息和存储数据值,而sas数据视图则并不实际上存储数据,实际上sas数据视图就是一个查询语句。
这个查询语句建立了一个逻辑数据集,每次打开sas数据视图就相当于运行了一次查询语句。
注意:这两个数据文件在同一级目录或逻辑库下不能同名。
数据集构成:描述信息,数据值。
数据文件:sas数据文件是包含描述信息和数据值的sas数据集。
普通的sas数据文件:sas格式的数据文件。
接口数据文件:以其它数据软件格式储存数据的数据文件。
sas数据文件和sas数据视图最大区别就数据文件实际储存数值,视图只是包含表的描述信息以及一组用来读取数据的查询语句,并不实际存储数据。
数据文件是静态的,而视图则是动态的;视图每次打开就相当于运行了异常查询语句,只有数据源发生变化,打开试图就会发生变化,而数据文件
只有自身被修改时才会发生改变。
sas视图:native view:由数据步或sql过程创建
interface view:由sas软件创建。
数据步视图:包含用于从多个数据源中读取数据的数据步程序:原始数据文件;sas数据文件;proc
sql视图;sas/access视图
定义格式:data
数据集名称/view=数据集名称;
...
sas语句;
....
run;
上面的定义中,在data步中的最后一个数据集名称后加上"view=数据集名称",告诉sas程序进行编译,但不运行,而被编译的程序编码则
储存在view后的数据视图中。
例如:创建数据步视图:
data
resdat.class1/view=resdat.class1;
set resdat.class;
run;
proc sql视图:是一个带有名称的proc
sql查询。它可以读写的数据源同数据步视图。
例如:
proc sql;
create view resdat.e as select *
from resdat.class;
quit;
表词典:是一个包含多个sas系统信息的sas数据视图。下面是一个使用proc
sql查询表词典的例子:
proc sql;
select libname,memname,memtype,nobs
from dictionary.tables where libname='CE1';
quit;
使用proc
sql来查询所需要的表词典,这些表储存在dictionary逻辑库中。
输入输出格式:$ 指定为字符格式,如果该项空缺,则默认是数值格式;
format:规定有效sas输出格式;
informat:规定有效sas输入格式;
w:设定输入输出的长度,一般是数据所占的列的数目;
d:设定数值数据中小数点的位数;
sas系统选项:options option(s); --option设定一个或多个系统选项。
options obs=5; --取数据集的前5个观测(行),obs:observations

Powered by Discuz! X2.5 © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 ) 论坛法律顾问:王兆丰
GMT+8, 2026-4-12 05:02 , Processed in 0.271508 second(s), 28 queries .