数学建模社区-数学中国
标题: 如何使用SAS逻辑库 [打印本页]
作者: 花映碧水 时间: 2013-12-29 10:50
标题: 如何使用SAS逻辑库
本帖最后由 花映碧水 于 2013-12-29 13:27 编辑
3 p+ o5 C! x" S0 V6 k# w5 m0 n' N9 M! G
在此首先非常感谢会员“奚鑫”提供资源,为方便大家观看,特此将全文转载到数学中国方便大家直接查阅~
$ C: A9 G6 c% Z7 k1 d! p* N
8 W7 ^; c0 y* C. R0 z要找到我们保存的数据集之前必须清楚一个概念,那就是“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下。
2 F2 y4 V* f# k
: H6 H& B. `: A8 D* X. h6 U7 Z
作者: 奚鑫 时间: 2013-12-29 11:18
为什么没有经过我的同意就复制不的文章呢?
作者: 奚鑫 时间: 2013-12-29 11:31
为什么没有经过我的同意就复制我的文章,还删掉我的帖子,把别人写的东西当成是你写的?
作者: 花映碧水 时间: 2013-12-29 13:37
奚鑫 发表于 2013-12-29 11:31 
% k5 e. i5 ^: c, b5 O+ g; h1 _为什么没有经过我的同意就复制我的文章,还删掉我的帖子,把别人写的东西当成是你写的?
* }: Y) c# {$ P6 @+ C, G, j2 V$ U首先你得帖子没有被删除,删除的话,你也会收到信息~其次我也没有权限给你删除~将你的资料转载到此的原因有:1.数学中国不接受站外个人链接~ 2.网站不接受类似推销自己的模式存在~ 3. 帖子内容我已经声明~
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) |
Powered by Discuz! X2.5 |