Android 平台有哪些优秀医院宣传平台的 Launchers

后使用快捷导航没有帐号?
查看: 9106|回复: 19
安装了64位SAS和32位office,解决不能读入Excel文件的方法
高级会员, 积分 622, 距离下一级还需 378 积分
论坛徽章:2
本帖最后由 zhonglyi 于
16:44 编辑
如果安装了64位SAS和32位office,会在读入Excel文件时出现错误:ERROR:连接:没有注册类ERROR:LIBNAME语句出错
原因是:SAS软件导入像Microsoft Office软件下的Excel和Access文件时,是借用Microsoft公司提供的数据接口引擎(Accessdatabase engine),如果安装了Office软件,数据接口引擎也会同时被安装,但是一般是安装了32位的数据接口引擎,所以SAS软件为64位时,则Proc import程序无法借用Office的32位数据接口引擎,故无法导入Excel和Access文件,出现错误。
解决办法就是先下载Microsoft提供的AccessDatabaseEngine_x64.exe程序,下载地址如:/zh-cn/download/details.aspx?id=13255
但是安装的时候会出现问题。因为安装的时候会检测到你机器上安装的是32位的Office,要求你把Office32位卸载掉。论坛上有不少帖子介绍的方法是卸载掉32位office再装上64位的office以解决这个问题。本人觉得卸载掉32位office重装64位比较麻烦,所以在网上找了很久,终于找到一个不用卸载32位office也能安装64位的AccessDatabaseEngine的方法。参考网址如下:http://blog.csdn.net/sundacheng1989/article/details/
本人亲身实践上述方法,成功解决了问题。希望上述方法能够帮助到同样因这个问题而困扰的人。
论坛徽章:30
两种方法都试过,还是装个软件简单
金牌会员, 积分 2077, 距离下一级还需 923 积分
论坛徽章:34
高级会员, 积分 578, 距离下一级还需 422 积分
论坛徽章:2
高级会员, 积分 578, 距离下一级还需 422 积分
论坛徽章:2
貌似把扩展名变成xlsx也可以
注册会员, 积分 154, 距离下一级还需 46 积分
论坛徽章:1
谢谢,测试了成功了~
中级会员, 积分 277, 距离下一级还需 223 积分
论坛徽章:2
试了.确实成功了,谢谢
高级会员, 积分 527, 距离下一级还需 473 积分
论坛徽章:1
注册会员, 积分 173, 距离下一级还需 27 积分
论坛徽章:6
还是转成制表符分割的txt文本简单,一样用
金牌会员, 积分 1864, 距离下一级还需 1136 积分
论坛徽章:21
这其实和SQL2008读取excel文件是一个道理。根据的就是office的安装引擎位数推荐这篇日记的豆列
······苹果/安卓/wp
学科带头人
学科带头人
积分 5641, 距离下一级还需 184 积分
权限: 自定义头衔, 签名中使用图片, 隐身, 设置帖子权限, 设置回复可见
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡, 抢沙发, 提升卡, 沉默卡, 千斤顶下一级可获得
道具: 变色卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
TA的文库&&
开心签到天数: 72 天连续签到: 1 天[LV.6]常住居民II
本帖最后由 webgu 于
22:33 编辑
很久没有发原创贴了,一是我自己变懒了,二是似乎坛里也没有以前热闹了。
趁着今天还有一些折腾劲,分享一些关于SAS批量导入EXCEL的技巧。关于这个问题,论坛里其实也有很多前辈们做过讨论,在此,做一个并不成熟的总结。
1. SAS 导入EXCEL的方法
19:54:07 上传
2. 我们可能面临的情形:
19:55:05 上传
3. 相应的解决方案
19:56:34 上传
4. 相应的宏程序
(1)macro im_excel%macro im_excel
(/*positional parameters:keep in order*/
/*&libref&.SAS-data-set*/ dsn
,/*fileref | &filepath&*/file
/*keyword parameters*/
,/*DBMS types: EXCEL | EXCELCS | XLS | XLSX */ dbms=excel
,/*replace: (blank) | REPLACE */ replace=replace
,/*range of spreedsheet:
(blank) | rangename|sheet$ | sheet$UR:LR */range=
,/*firstobs : N*/ firstobs=1
,/*obs: N */ obs=1048576
,/*YES|NO */ getnames=yes
,/*YES|NO */ scantext=yes
,/*YES|NO */ scantime=yes
,/*YES|NO */ usedate=yes
,/*YES|NO */ mixed=no
);
proc import out=&dsn
datafile=&file
dbms=&dbms &
range=&&range&;
dbdsopts=&firstobs=&firstobs obs=&obs&;
getnames=&
scantext=&
scantime=&
usedate=&
mixed=&
%mend im_ 复制代码(2)macro im_1m1excel%macro im_1m1excel(RootPath,FileName,Extension);
libname MyExcel Excel &&RootPath.\&Filename..&Extension&;
select catt(trim(libname),'.',quote(trim(memname)),'n')
into: namelist seperated by ' '
from dictionary.tables
where libname in ('MYEXCEL');
%put &
data &FileN
set &
%mend im_1m1复制代码
(3)macro&&im_m1mexcel%macro&&im_m1mexcel(dir=) ;
filename indata pipe &dir &dir /b&;
data FileN
length fname $20.;
inf
input fname $20.;
dname=scan(fname,1,&.&);
call symputx(cats('File',_n_),fname);
call symputx(cats('ds',_n_),dname);
call symputx('NumFile',_n_);
%do i=1 %to &NumF
proc import out=&&ds&i
datafile=&&Dir\&&file&i&
dbms=
%
% 复制代码(4)macro ExcelFiles2sas
22:06:48 上传
若觉得有用,小伙伴们请给个好评吧!
载入中......
好的意见建议
鼓励积极发帖讨论
总评分:&经验 + 322&
论坛币 + 110&
学术水平 + 54&
热心指数 + 55&
信用等级 + 55&
本帖被以下文库推荐
& |主题: 246, 订阅: 45
& |主题: 213, 订阅: 11
& |主题: 135, 订阅: 6
& |主题: 41, 订阅: 40
& |主题: 312, 订阅: 31
& |主题: 144, 订阅: 56
& |主题: 114, 订阅: 140
1. SAS 微信:StatsThinking
2. SAS QQ群:
沙发啊,绝世好贴啊。
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
lookslike 发表于
沙发啊,绝世好贴啊。好贴都不评分,你们也太不厚道了。
总评分:&学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
1. SAS 微信:StatsThinking
2. SAS QQ群:
支持版主,好评!!!!!!!!
It's not going to be easy, but it is going to be worth it.
代码太长,老出现乱码。改成图片了。
1. SAS 微信:StatsThinking
2. SAS QQ群:
经典,赞一个
互联网金融,风控,模型开发
第一次见,支持!
有点吊。。。。。
版主装了64位版本的SAS了吗?
如何解决在64位版本SAS下的中文Excel文件(包括xls和xlsx)的导入和导出问题?没有乱码,没有该死的什么libname错误?
如果能在你的宏里用SYSVER判断下版本,以及用SYSADDRBITS判断下位数,然后相对应的用不同的设置进行导入导出就好了
playmore邀请您访问ChinaTeX论坛!!!
总评分:&学术水平 + 2&
热心指数 + 2&
信用等级 + 2&
初级学术勋章
初级学术勋章
初级热心勋章
初级热心勋章
初级信用勋章
初级信用勋章
中级学术勋章
中级学术勋章
中级热心勋章
中级热心勋章
中级信用勋章
中级信用勋章
无限扩大经管职场人脉圈!每天抽选10位免费名额,现在就扫& 论坛VIP& 贵宾会员& 可免费加入
加入我们,立即就学扫码下载「就学」app& Join us!& JoinLearn&
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
京ICP证090565号
京公网安备号
论坛法律顾问:王进律师苹果/安卓/wp
积分 727, 距离下一级还需 73 积分
权限: 自定义头衔, 签名中使用图片
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡, 抢沙发下一级可获得
权限: 隐身
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
哼哼签到天数: 274 天连续签到: 1 天[LV.8]以坛为家I
sas 9.3 导入excel 2003版数据时报错,错误如下:
ERROR: 连接: 没有注册类
ERROR: LIBNAME 语句出错。
NOTE: 为新的父级重新建立了 -3 的连接。
NOTE: 已取消导入。
载入中......
家家有本难念的经,计较的少一点,会和睦许多!!
本帖最后由 yangz98 于
15:02 编辑
SAS9.1的EXCEL导入代码:
/*从C盘MYSAS9.1DATAS中导入2011年报表的BOOK1*/
PROC IMPORT DATA=WORK.A
& && & DATAFILE=&C:\MySAS9.1DATAS\2011年报表\BOOK1.XLS&
& && & DBMS=EXCEL REPLACE;
& && & SHEET=&SHEET1$&;
& && & GETNAMES=YES;
& && & MIXED=NO;
& && & SCANTEXT=YES;
& && & USEDATA=YES;
& && & SACNTIME=YES;
/*将导入的报表打印出来*/
PROC PRINT DATA=WORK.A;
RUN;其中MIXED=YES;表示将所有的数字数据转化成字符数据进行储存,这里BOOK1里面全是数据,所以选择MIXED=NO;
/*在C盘的MySAS9.1DATAS中建立一个名字为B的数据库*/
LIBNAME&&B&&'C:\MySAS9.1DATAS';
/*从C:\MySAS9.1DATAS\WORK.A.DAT中读取WORK.A.DAT生成一个永久的数据集C,然后存放在数据库B中*/
& && && &INFILE 'C:\MySAS9.1DATAS\WORK.A.DAT';
& && && &INPUT&&VARIBLE1 $ VARIBLE2 $ VARIBLE3;
还不清楚直接在论坛里面搜
yangz98 发表于
SAS9.1的EXCEL导入代码:
/*从C盘MYSAS9.1DATAS中导入2011年报表的BOOK1*/
PROC IMPORT DATA=WORK.Asas9.3,我没用代码导入,直接用导入数据菜单操作的,一直都报错
家家有本难念的经,计较的少一点,会和睦许多!!
本帖最后由 yangz98 于
09:42 编辑 xulimei1986 发表于
sas9.3,我没用代码导入,直接用导入数据菜单操作的,一直都报错用代码试试
SAS9.1导入excel2003数据莫名其妙出错
用 SAS Enterprise Guide 导下试试
choasxiao 发表于
用 SAS Enterprise Guide 导下试试试过了,没用,后来只能将excel转化为txt 文件再倒入SAS
家家有本难念的经,计较的少一点,会和睦许多!!
yangz98 发表于
用代码试试
SAS9.1导入excel2003数据莫名其妙出错 http://bbs.pinggu.org/forum.php? ... 962&from^^uid=306 ...试过了,依旧报错,后来只能将excel转化为txt 文件再倒入SAS,可能是系统原因!
家家有本难念的经,计较的少一点,会和睦许多!!
yangz98 发表于
SAS9.1的EXCEL导入代码:
/*从C盘MYSAS9.1DATAS中导入2011年报表的BOOK1*/
PROC IMPORT DATA=WORK.A谢谢,不过依旧报错!
家家有本难念的经,计较的少一点,会和睦许多!!
SAS9.3 64位软件不能导入Excel文件的原因是,SAS软件导入像Microsoft Office软件下的Excel和Access文件时,是借用Microsoft公司提供的数据接口引擎(Access database engine),如果安装了Office软件,数据接口引擎也会同时被安装,但是一般是安装了32位的数据接口引擎,所以SAS软件为64位时,则Proc import程序无法借用Office的32位数据接口引擎,故无法导入Excel和Access文件,出现下列错误:
Error: Connect: Class not registered
Error: Error in the Libname statement
解决办法就是先下载Microsoft提供的Accessdatabaseengine_x64.exe程序,下载地址如下:
下载后如果不能安装,则是因为本机已经安装了32位Accessdatabaseengine,安装之前应该先卸载掉。
In conclusion,
64bit的SAS需对应安装64bit的MS Access database engine,32bit的SAS需安装32bit的MS Access database engine。
在64bit的MS Access database engine对应64bit的office, 32bit的MS Access database engine对应32bit的office,否则系统会deny installation。
好的意见建议
总评分:&学术水平 + 2&
热心指数 + 1&
信用等级 + 1&
无限扩大经管职场人脉圈!每天抽选10位免费名额,现在就扫& 论坛VIP& 贵宾会员& 可免费加入
加入我们,立即就学扫码下载「就学」app& Join us!& JoinLearn&
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
京ICP证090565号
京公网安备号
论坛法律顾问:王进律师苹果/安卓/wp
积分 606, 距离下一级还需 194 积分
权限: 自定义头衔, 签名中使用图片
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡, 抢沙发下一级可获得
权限: 隐身
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
悲催签到天数: 12 天连续签到: 1 天[LV.3]偶尔看看II
excel文档中有3个值型变量(无缺失值),但是导入SAS后,生成的SAS数据集中有1个变量的所有值均为空白,请问这是为什么呢?请各位老师指点迷津,谢谢!
数据导入程序如下:
PROC IMPORT OUT= w.data
& && && && &DATAFILE= &C:\data.xls&
& && && && &DBMS=EXCEL REPLACE;
& &&&SHEET=&'1$'&;
& &&&GETNAMES=YES;
& &&&MIXED=NO;
& &&&SCANTEXT=YES;
& &&&USEDATE=YES;
& &&&SCANTIME=YES;
载入中......
把mixed=no换成yes试一下
技术改变世界
Imasasor 发表于
把mixed=no换成yes试一下可以正确导入了,非常感谢!请问MIXED在这里的作用是什么呢?
chaoren2010 发表于
可以正确导入了,非常感谢!请问MIXED在这里的作用是什么呢?mixed 是混合的意思,
意思是说当一个变量即有数字,又有非数字存在时,导入到SAS中,如果mixed=no,表示不允许两种形式同时存在,mixed=yes,会将变量设成字符型,并且将数字和非数字都导进来。你的那个变量肯定有非数字形式存在于excel中
技术改变世界
Imasasor 发表于
mixed 是混合的意思,
意思是说当一个变量即有数字,又有非数字存在时,导入到SAS中,如果mixed=no,表示 ...确实如此,我把excel中那组变量的取值设置为数值型,导入SAS时用了MIXED=NO,也可以成功导入。之前忽略了对变量类型的统一。
初级学术勋章
初级学术勋章
初级热心勋章
初级热心勋章
初级信用勋章
初级信用勋章
中级热心勋章
中级热心勋章
中级学术勋章
中级学术勋章
无限扩大经管职场人脉圈!每天抽选10位免费名额,现在就扫& 论坛VIP& 贵宾会员& 可免费加入
加入我们,立即就学扫码下载「就学」app& Join us!& JoinLearn&
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
京ICP证090565号
京公网安备号
论坛法律顾问:王进律师

我要回帖

更多关于 优秀微信公众平台 的文章

 

随机推荐