首页 > 寺庙

深入解析SAS 基本概念|

深入解析SAS 基本概念

SAS逻辑库

深入解析SAS 基本概念|

SAS逻辑库是一个或多个SAS文件的集合,用于组织、查找和管理SAS文件。

SAS逻辑库 管理的SAS文件 包括: SAS数据集、SAS目录、 已编译的SAS程序, 以及:多维数据库文件等。

Windows中,SAS逻辑库通常是包含在同一个文件夹或目录下的 一组SAS文件(其他文件也可以存储在改文件夹或目录下),但只有具有SAS文件扩展名的那些文件 会被认为是该SAS逻辑库的一部分。

还有一种SAS逻辑库, 叫: 元数据边界逻辑库(metadata-bound library),是绑定在由 元数据提供安全访问控制的对应表对象上的物理逻辑库。

逻辑库:操作

逻辑库关联

可以通过LIBNAME语句、LIBNAME函数、使用”新建逻辑库“窗口、操作环境命令来定义逻辑库。并将SAS逻辑库与对应的逻辑库引用名关联起来。

之后就可以通过 该逻辑库引用名来读取、写入、并更新SAS逻辑库中的SAS文件。

语法:LIBNAME 逻辑库引用名 逻辑库引擎 ‘逻辑库物理位置’;

例:libname saslibtest base c:sasdata;//base可省略。

(1)saslibtest:是逻辑库引用名。在定义SAS逻辑库时需要指定逻辑库引用名,临时逻辑库WORK除外。

(2)base : 是逻辑库引擎。SAS逻辑库引擎是SAS软件和SAS逻辑库之间的接口软件组件,每个SAS逻辑库都关联一种逻辑库引擎。

逻辑库引擎 识别逻辑库中的文件 并以 SAS可理解的格式将文件内容呈现给SAS。

逻辑库引擎分为:原生逻辑库引擎, 接口逻辑库引擎。

base引擎 就是原生逻辑库引擎, 访问由SAS创建和处理的SAS文件。

接口逻辑库:需要相应的SAS/ACCESS软件许可,安装相应的数据管理系统的客户端软件。

例如:lianame tdlib teradata server=tera2650 user=user1 password=password1 database=hps;

如果要访问Teradata数据库管理系统中的数据文件,接口逻辑库引擎Teradata。

(3)逻辑库物理位置

c:sasdata 就是逻辑库saslibtest的物理路径。

SAS逻辑库可以由多个物理位置。例如:例SAS逻辑库Y2014有4个物理位置。

libname Y2014 (c:sasdataquater1 c:sasdataquater2 c:sasdataquater3 c:sasdataquater4 )

永久和临时SAS逻辑库

使用永久逻辑库中的文件时,通常需要指定逻辑库引用名作为两层SAS文件名的第一部分,并且要告诉SAS该文件的存储位置。

临时逻辑库WORK:存储临时数据和文件的临时逻辑库,引用名为WORK。

一般通过指定一级名称来读写临时逻辑库WORK中的SAS文件(也可以使用二级名称,如”work.Inventory)。

SAS系统逻辑库:WORK,user,sashelp,sasuser。

(1)user逻辑库:可以通过使用LIBNAME语句、LIBNAME函数,系统选项USER= 、 操作系统显示指定。

指定user逻辑库后,可以使用一级名称读取该逻辑库中的文件。

options user=逻辑库名;

用特殊的逻辑库名user来指定SAS程序默认的逻辑库。初始默认状态下,默认的逻辑库是work逻辑库。当想改变默认逻辑库的时候,可以使用此方式完成。但是要注意,在使用后最好再使用“options user=work;”语句转换回默认状态,要不然容易出问题。

(一旦定义了SAS逻辑库user,在SAS程序中使用一级名称读取或写入任何SAS文件时,SAS都会在该user逻辑库对应的物理位置查找或写入相应的SAS文件。这时,如果要引用WORK逻辑库中的文件,必须指定带有WORK逻辑库引用名的二级名称。)

(2)sashelp逻辑库:包含一组用于控制SAS会话各方面信息 的目录(Catalog)和其他文件。

如果除了安装Base SAS软件外,还装了SAS的其他产品,那么这些产品需要用到的一些目录也会包含在sashelp逻辑库中。

(3)sasuser逻辑库:包含能够定制SAS特征以满足特定要求的SAS目录。

用户的个性化设置存储在sasuser逻辑库中。

如,可以在名称为sasuser.profile的个人Profile目录中存储个人默认的功能键设置或窗口属性。

SAS数据集

SAS数据集是存储在SAS逻辑库中、由SAS创建和处理的SAS文件,是SAS存储数据的主要方式。

SAS数据集包含: 数据值(以表的观测(行)和变量(列)为形式存在的数据值),以及用来 描述变量类型、长度和创建该数据集时所使用的引擎等信息的描述信息。

SAS数据集 (根据其是否包含真正的数据值) 分为: SAS数据文件,SAS视图 。

SAS数据文件:包含数据和描述信息,在逻辑库中的成员类型是:DATA。

SAS视图:不包含数据值,是指向其他数据源的虚数据集,成员类型是VIEW。

图1

图2

图3 数据集 描述信息。

图4

图5:变量属性:变量名、类型、长度、输出格式、输入格式、标签。

数据集命名:

每个SAS数据集的完整名称如下:

libref.SAS-data-set.membertype

共三个部分。从左到右依次是:逻辑库引用名、数据集名称、成员类型。

引用数据集时,通常只指定前两个,SAS会根据上下文环境,来确定成员类型。

在访问WORK和user逻辑库中的数据集时可以使用一级名称。

CONTENTS过程打印数据集的描述信息,

PRINT过程打印数据集的数据值。

SAS数据文件

与SAS视图相比较,SAS数据文件是一种在其文件中包含数据的数据集。

SAS数据文件可以由DATA步创建,其名称在DATA语句中指定;

还可以由PROC步创建,其名称通常是在该PROC步 语句 或 PROC步 的OUTPUT语句中指定的。

有两种类型的数据文件:原生SAS数据文件, 接口SAS数据文件。

原生SAS数据文件:是SAS格式的文件,用来存储SAS格式的数据值和描述信息。

接口数据文件:是指数据以其他格式存在,并且SAS可以通过SAS/ACCESS接口引擎访问的数据文件。 例如:存在于Oracle、DBERP系统中的数据文件。

SAS程序语句创建的是原生SAS数据文件还是接口SAS数据文件,取决于该数据文件所属的逻辑数据库。

该逻辑库是通过Base引擎定义的,则生成的数据文件是原生数据文件;

如果是通过SAS/ACCESS接口逻辑库定义的,则所创建的是接口SAS数据文件。

语法:

DATA 数据集名称;

...SAS语句...;

RUN;

DATALINES语句表示: 从程序语句中读取数据;

SET语句: 读取指定的输入数据集;

INFILE语句: 读取指定的外部数据文件。

(1)SAS数据文件观测数

观测数: 是文件中当前观测(行)和已删除观测的总和。

可以通过执行CONTENTS过程 或 DATASET过程的CONTENTS语句列出数据集的观测数。

所列出的观测数是 观测和已删除观测的总和。

SAS使用所在操作系统内部的长整型数 来记录数据集的观测数。

在32位操作系统中,长整型为32位,数据文件的最大观测数是(2^31) - 1 。SAS9.4以后,当创建SAS数据文件时,默认会创建扩展的观测数。

(2)审计追踪SAS文件

可以通过DATASETS过程对SAS数据文件 创建审计追踪 SAS文件, 用来记录SAS数据我呢见的修改历史。

每当观测被删除或更新时,谁在什么时候修改了什么的i西南西都会被写入审计文件。

SAS视图

SAS视图本身并不存储数据值,它仅包含描述信息和从其他SAS数据集或从存储为其他软件厂商文件格式的文件中获取数据所需要的信息。

SAS视图的成员类型是: VIEW。

可使用SQL过程、ACCESS过程、DATA语句的VIEW选项来创建SAS视图。

根据创建的方式,视图又可分为:SQL视图、接口SAS视图、DATA步视图。

其中,SQL视图和DATA步视图 称为: 原生视图。

SAS/ACCESS视图被称为: 接口视图。

语法:

DATA 数据集名称 / view = 数据集名称;

...SAS语句...;

RUN;

_NULL_数据集

如果想执行一个DATA步又不像创建SAS数据集,可以指定关键字_NULL_作为数据集名称。

语法:DATA_null_;

SAS会执行该DATA步里面的语句,但不会创建新数据集,不会有观测或变量写入任何数据集。

SAS逻辑库和数据集管理

SAS逻辑库和数据集可以通过SAS程序语句进行管理。

例如:LIBNAME语句、DATA步、DATASETS过程、APPEND过程、CONTENTS过程。

SAS逻辑库和数据集管理

SAS逻辑库和数据集管理

SAS逻辑库和数据集管理SAS系统选项

SAS有众多选项,根据SAS选项出现的位置、功能和作用,分为:系统选项、数据集选项、语句选项(即在语句中出现的选项。)

SAS系统选项:是影响整个会话过程中SAS程序处理或交互式SAS会话的指令。

SAS系统选项,控制:SAS输出的外观、SAS对所使用文件的处理方式、SAS数据集中观测的处理形式(如OBS选项)、SAS初始化特性(如MEMSIZE选项)、SAS如何与主机操作系统交互。

系统选项被指定时即开始产生影响,直到其被改变。

数据集选项: 是为数据集操作 指定的选项,应用于其所作用的SAS数据集。

有些数据集选项有对应的系统选项 或 LIBNAME选项,如OBS=。

深入解析迪迦奥特曼剧情篇 下

上回对我们讲到,剧中奥特曼传达的更多是一种人文情怀,团队精神以及亘古不变的主角成长过程中悟到的哲理。诸如奥特曼,赛文等昭和系奥特曼大多有此类情节,但为什么迪迦就更能吸引观众呢,究竟是哪一点让迪迦成为圆谷起死回生的契机,又是什么,让剧情如此耐人寻味,下面,我们一一道来。

首先,迪迦剧情中后期更偏向环境保护,而不是昭和系的外星人入侵。其次,其剧情中诸如马农星人,还有宿那鬼等集都耐人寻味。马农星人对花的执着,宿那鬼与井田井龙的恩怨,或许迪迦不是儿童中反响最好的,但是迪迦一定是最值得深入研究的奥特曼。从剧情走向看,迪迦似乎一直在表达人类与大自然的关系,与地球的关系。从迪迦拍摄放送的时间看,90年代关于环境保护的会议是一个又一个。那个时候的人们普遍认识到环境才是人类赖以生存的基础。不管是哪个国家,都不应该自私的以为自己的国家无事便好,于是乎,迪迦中更多的出现了世界不同国家,也破天荒的出现不少关于中国的情节与故事,例如昆仑山脉的机械大蛇,就蕴含不少中国文化。从奥特曼发展史来看,圆谷确实越来越重视环境这个主题,就像最新的泽塔一样,第一集就明确了环境问题。

迪迦中期剧情从机械岛开始,变得耐人寻味,也就是上面所说中后期所偏向的环境保护,可能许多人都以为机械岛就是单纯的先进控制落后,所谓的修昔底德陷阱,但我认为,不单单是为了鞭尸解体的苏联以及结束的冷战,更多还是偏向环境保护,为什么?因为迈格斯动力系统作为一种先进动力,需要大量的资源作为启动基础,另外,为什么一定要消灭这种动力,因为当宇宙中过多生命体发现这种动力,进而掌握更多先进技术,那宇宙战争肯定是无法避免的。顺带提一下,这部剧圆谷未引入昭和世界观,这就造成我们无法判断迪迦与昭和流氓究竟是一种怎样的关系,从迪迦与岳父的握手来看,迪迦与昭和流氓似乎属于同辈甚至高一辈,由此可以推出,3000万年前的战争,说不定m78也有巨人参与了进来(滑稽)。回归正题,机械岛的目的也许只是为了消灭动力,并不想毁灭地球,但是,迪迦和亚格迪斯号直接把机械岛轰烂了,额,这个,emm,仁者见仁智者见智吧,反正我是挺气愤的。

迪迦后期剧情,以齐杰拉为例,齐杰拉在三千万年前毁灭了人类,让迪迦不得不变成光离开,如今再度现世,企图再一次给人类造成毁灭打击,可惜的是,这次迪迦学聪明了,找了个人类当载体,当齐杰拉向人类进攻时,作为人类的大古不可能不管,既然要管,就不得不借用迪迦的力量,那迪迦就可以顺理成章消灭齐杰拉,不得不说,迪迦这一手算盘打得精啊!

我是特摄野生菌,我们下期再见。


|深入解析SAS、基本概念

   

深入解析SAS 基本概念|
  • 企业为什么需要企业文化|
  • 企业为什么需要企业文化| | 企业为什么需要企业文化| ...

    深入解析SAS 基本概念|
  • 供需是什么意思 供求关系|
  • 供需是什么意思 供求关系| | 供需是什么意思 供求关系| ...

    深入解析SAS 基本概念|
  • 黑格尔的哲学几乎都是错的 黑格尔哲学|
  • 黑格尔的哲学几乎都是错的 黑格尔哲学| | 黑格尔的哲学几乎都是错的 黑格尔哲学| ...