楼主: mymine
8525 11

[原创博文] Excel导入SAS的问题求教! [推广有奖]

  • 0关注
  • 2粉丝

已卖:4份资源

博士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
659 个
通用积分
0.0012
学术水平
14 点
热心指数
16 点
信用等级
8 点
经验
2323 点
帖子
187
精华
0
在线时间
347 小时
注册时间
2011-12-27
最后登录
2022-8-20

楼主
mymine 发表于 2012-1-11 08:49:47 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
将Excel数据导入SAS的时候
举例其中某一列,列标签为 var1
此Excel是从Oracle中导出的,本来此列是数字型
但是经常会出现第一列中var1这个字段刚好是没有数字,在Excel中就是空白的

这样导入SAS后,SAS以第一行为准,将此字段自动更正为字符型
然后后面本来有数值的也变成了空白

经常是导入后才发现不对
各位大侠,有没有好办法?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:EXCEL sas的 exce xcel 问题求教 Oracle Excel 标签

沙发
yulinmufeng 发表于 2012-1-11 08:53:55
我也遇到这种问题 同样纠结 求解啊

藤椅
webgu 发表于 2012-1-11 09:03:37
yulinmufeng 发表于 2012-1-11 08:53
我也遇到这种问题 同样纠结 求解啊
可以试试另存为CSV后导入,导入时修改下input var1 的格式。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

板凳
mymine 发表于 2012-1-11 09:17:13
从Excel导入时我一般用的程序

proc import
datafile="C:\Documents and Settings\user\桌面\aa"
out=aa
dbms=excel2000;
run;

报纸
yunzhonghai 发表于 2012-1-11 13:58:54
如果第一行为空,就手动加个0,导入后在把0删除

地板
mymine 发表于 2012-1-11 14:16:28
我每次都是自己手动将任意一行中有数值的复制插入到第一行

不过有时没有注意到,导入数据后,经过一系列运算后发现不对了
又重新来太麻烦

7
sinostone 在职认证  发表于 2012-1-11 16:08:07
sas 根据第一行的数据判断该列的属性,如果是数字第一列就要输入0,如果是字符,第一列随便输入‘ ’就行

8
yulinmufeng 发表于 2012-1-12 08:19:39
sinostone 发表于 2012-1-11 16:08
sas 根据第一行的数据判断该列的属性,如果是数字第一列就要输入0,如果是字符,第一列随便输入‘ ’就行
不知道 有没有可以SAS系统自动识别的程序或者设置啊,不然每次都要这么操作,好像也蛮麻烦的。不过,还是谢谢您的建议!

9
小麦芽的简单 发表于 2012-1-12 22:24:22
%MACRO xls2sas(sasfile, sheet);
PROC SQL;
CONNECT TO ODBC ("DSN=Excel Files;DBQ=&xlsfile");
CREATE TABLE &sasfile AS
SELECT * FROM CONNECTION TO ODBC
(
SELECT * FROM "&sheet.$"N
);
QUIT;
%MEND xls2sas;

%let xlsfile=D:\code.xls;  /*excel的地址*/
%xls2sas(cent,MH);/*sasfile:数据集名, sheet:导入excel的sheet名*/

我试了一下没出现你说的第一行缺失就变字符型的情况,呵呵

10
kakamei 发表于 2012-1-12 23:10:46
你们的方法都比较复杂,并且不同版本的数据集,方法也不太一样。由于SAS的数据输入效率较低,并且容易出错。一般对EXCEL的输入采用两个步骤。举例介绍:首先打开SAS主程序,然后再使用IMPORT,下一步勾选导入文件的类型,选择EXCEL2003,然后点下一步,然后BROWSE选择你要导入的EXCEL,再然后选择你准备好的永久数据库,一般默认为WORK,然后在MEMBER中输入你准备转换为SAS数据集的内存名称,再然后点FINSIH。这时候会显示此数据集自动进入内存数据集存放,注意这个时候就要解决你遇到的问题。然后点解决方案,再点交互式数据分析,这时候你找到你存在数据库里的数据名。然后点OPEN,这个时候你能看到你转化为SAS数据的原EXCEL数据,一般这个时候就会出现你所说的空白,或者不匹配问题。这个时候要保证电脑不能断电,不然功夫全废。然后你点击删除不正常的行或者列。然后点开分析家,再点NEW,再点OPEN;然后再点你所需的数据文件。这个时候你看到的就会是正常的数据集了。这个时候你再保存为SAS文件。这个时候一个完美的SAS数据库产生。包括做各种大型实验都能应付。如果你要反过来导出,同理,反着做就行了。目前我主要做风控,所以这种问题在读长江大学的时候就遇到了。一般你想清楚了做,不会出太大的错。上面的一些回答比较麻烦或者根本就没懂,只是查看了几个源代码而已。没什么好处。实践才会有真理的产生,不要浮于表面。清华的那个朱世武写的书就是一堆垃圾,真丢清华的脸。还是看SAS写的说明书吧。比较好。读一下,英文水平也可以提高。除了高会炫的可以看下外,其他的都是垃圾。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 01:56