楼主: baiduqiqi
11405 15

[问答] SAS中libname 语句中engine 的意义是什么 [推广有奖]

11
moyunzheng 发表于 2012-11-8 16:05:17
龙潭丰乐 发表于 2012-11-8 13:03
libanme libref spss 'sas-data-library' 建立了这个spss引擎  ,之后有什么用?
应该是 libanme libref spss 'spss data base' 吧
通过spss的数据引擎,直接对spss的数据文件文件(例如sample.sav)进行操作,而不需要把它先转化为sas的数据文件.

12
龙潭丰乐 学生认证  发表于 2012-11-8 17:52:02
moyunzheng 发表于 2012-11-8 16:05
应该是 libanme libref spss 'spss data base' 吧
通过spss的数据引擎,直接对spss的数据文件文件(例如sa ...
libname spss1 spss 'f:\sas\yyhg\li2.1.sav';
这个建立了spss逻辑库,通过spss引擎操作li2.1.sav文件?那后面如何编程呢?
这块弄得有点晕了,谢谢指导。

13
moyunzheng 发表于 2012-11-9 17:05:28
龙潭丰乐 发表于 2012-11-8 17:52
libname spss1 spss 'f:\sas\yyhg\li2.1.sav';
这个建立了spss逻辑库,通过spss引擎操作li2.1.sav文件? ...
纠正一下我上面的错误
  1. libname myspss spss "d:\temp.sav";
复制代码
这个语句能够建立libref,但是myspss里没有数据集.
  1. proc print data=myspss._all_;run;
  2. proc copy in=myspss out=work;run;
复制代码
使用上述语句,9.2直接就崩溃了,9.3会报错:
ERROR: 出现了异常。
请与技术支持人员联系,并向他们提供下列回溯信息:


使用.por的话只能读不能写,同时无法浏览数据(The table Myspss._first_ either does not exist or cannot be displayed)
  1. libname myspss spss "d:\temp.por";
  2. proc copy in=myspss out=work;run;
  3. proc print data=myspss._all_;run;
复制代码
.pro是没有member name的,sas使用了_first_, 我上面使用了_all_或者其他任何的都是可行的.

14
龙潭丰乐 学生认证  发表于 2012-11-9 22:08:05
moyunzheng 发表于 2012-11-9 17:05
纠正一下我上面的错误这个语句能够建立libref,但是myspss里没有数据集.使用上述语句,9.2直接就崩溃了,9.3 ...
既然你说不能写入数据,怎么能把myspss数据集copy到work呢?
跟这个spss引擎有什么关系呢?

15
moyunzheng 发表于 2012-11-11 11:54:21
龙潭丰乐 发表于 2012-11-9 22:08
既然你说不能写入数据,怎么能把myspss数据集copy到work呢?
跟这个spss引擎有什么关系呢?
把myspss数据集copy到work的操作是读取,不是写入,所以是可以的.
引擎的作用就是告诉sas,目标文件的格式是什么,应该怎么进行数据操作.

16
张冬阳 发表于 2015-1-19 13:48:34
没弄明白,libname的用法!!!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-21 18:39