本帖最后由 花映碧水 于 2013-12-29 13:27 编辑
, B: v" ~! |" d- o# Y y6 ^. z+ |* z: G- p5 c0 p! ^
在此首先非常感谢会员“奚鑫”提供资源,为方便大家观看,特此将全文转载到数学中国方便大家直接查阅~' [/ r& z" a6 q6 H
+ O9 t' `; e. W( [4 w要找到我们保存的数据集之前必须清楚一个概念,那就是“SAS逻辑库”。什么是SAS逻辑库?通俗地讲,就是储存SAS数据集的仓库,当然,SAS逻辑库的定义远不是这样,但是为了方便理解,我暂且把它理解成这样。 其实SAS逻辑库是一个逻辑标识,指向一个物理的地址,我们在使用SAS逻辑库的时候其实就是在使用这个物理地址,比如说,一个名为mylib的逻辑库,其指向的物理地址为D:\data,那么我们把一个名为mydata的数据集存储在mylib逻辑库中就是把这个数据集文件存储在路径D:\data下了。 有如下需求: 定义一个名为mylib的逻辑库,其物理地址为D:\data。 使用如下代码完成上面的需求: libname mylib "D:\data"; 按F3,运行代码,查看日志,确认代码运行成功。 代码分析: libname:关键词,用于定义逻辑库; mylib:逻辑库的名称; D:\data:逻辑库的物理地址。 逻辑库的分类: 逻辑库分为两种,一种叫做临时逻辑库,一种叫做永久逻辑库。 什么是临时逻辑库呢?就是临时存储SAS数据集的逻辑库,只要SAS程序关闭,该逻辑库就会消失,我们储存在里面的SAS数据集就会被删除,具有代表性的临时逻辑库就是WORK库。 什么是永久逻辑库呢?就是上面已经说到过的用libname语句声明过的逻辑库,该逻辑库内的文件存储在对应的物理地址上,即使SAS关闭也不会丢失文件。 逻辑库的使用: 改写一下上次的代码, proc import datafile ="D:\data\mydata.xls" dbms = excel out = work.myfile; sheet = "sheet1"; getnames = no; run; 我们将输出的数据集myfile保存在临时逻辑库work下。其实上面的代码和上次的代码是等价的,因为在没有指定SAS数据集属于哪个逻辑库时,默认为work临时逻辑库。 也可以改写成如下代码, libname mylib "D:\data\lib"; proc import datafile ="D:\data\mydata.xls" dbms = excel out = mylib.myfile; sheet = "sheet1"; getnames = no; run; 我们将输出的数据集myfile保存在逻辑库mylib下,对应的物理地址为D:\data\lib。 补充说明: 找到SAS软件的资源管理器或浏览器,打开里面的Libraries,我们自己建立的和系统自带的逻辑库都保存在Libraries下。 / ]# t1 B( L0 C$ F
2 v7 n- O0 x0 [, l |