多个sheet导入sas里面-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 软件培训>>

SAS软件培训

>>

多个sheet导入sas里面

多个sheet导入sas里面

发布:龙潭丰乐 | 分类:SAS软件培训

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

获取电子版《CDA一级教材》

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

1、将多个sheet导入多个数据集里面(1)利用sasexcel引擎libnamedexcel'C:\Users\quan\Desktop\D题\附件2.xls';PROCPRINTDATA=d."pa$"N;RUN;另外可以直接利用excel引擎里做一些数据变换datad.total;setd.'pa$'nd ...
免费学术公开课,扫码加入


1、将多个sheet导入多个数据集里面

(1)利用sas excel引擎

libname d excel 'C:\Users\quan\Desktop\D题\附件2.xls';

PROC PRINT DATA=d."pa $"N;

RUN;

另外可以直接利用excel引擎里做一些数据变换

data d.total;

set d.'pa $'n d.'pb $'n;

RUN;


这里有两点强调:$符号与数据集名字pa之间一定有一个空格,没有空格的话则会显示下

面这个错误 ERROR: 文件“D.'pa$'n.DATA”不存在。

第二点 n表示引用符号的标记,一定要紧邻单引号或双引号后面,否则也是有错误的。

(2)利用proc import 过程将多个sheet导入指定的逻辑库

libname d 'C:\Users\quan\Desktop\2013夏令营题\D题\附件2.xls';

%macro quan;

proc sql noprint;

select count (distinct (memname)) INTO :TOT

from sashelp.vtable

where libname='D' ;

SELECT DISTINCT (memname) into :s1-:s%trim(%left(&tot))

from sashelp.vtable

where libname='D';

select distinct(compress(MEMNAME,"',$")) into: v1 - :v%trim(%left(&tot))

from sashelp.vtable

where libname='D';

quit;

%DO I=1 %TO &TOT;

%put &&v&i;

%put &&s&i;

proc import datafile= 'C:\Users\quan\Desktop\2013夏令营题\D题\附件2.xls' out=&&v&I replace;

getnames=yes;

range=&&s&I;

run;

%END;

%mend;

%quan;

这里利用了sas 数据字典里面的知识。Sashelp.vtable视图保存了sas 所有逻辑库里面的数据名字以及数据所在的逻辑库等等信息。利用了compress函数,提取了excel中sheet名字并变成宏变量。

2、将多个sheet里面的数据合并为一个数据集

其实如果将多个sheet导入了多个数据集里面,之后的合并方法有很多了。Data步中set语句,sql中OUTER UNION,以及append语句都可以做到。

但是append更为高效点。

libname d 'C:\Users\quan\Desktop\2013夏令营题\D题\附件2.xls';

%macro quan;

proc sql noprint;

select count (distinct (memname)) INTO :TOT

from sashelp.vtable

where libname='D' ;

SELECT DISTINCT (memname) into :s1-:s%trim(%left(&tot))

from sashelp.vtable

where libname='D';

select distinct(compress(MEMNAME,"',$")) into: v1 - :v%trim(%left(&tot))

from sashelp.vtable

where libname='D';

quit;

%DO I=1 %TO &TOT;

%put &&v&i;

%put &&s&i;

proc import datafile= 'C:\Users\quan\Desktop\2013夏令营题\D题\附件2.xls' out=&&v&I replace;

getnames=yes;

range=&&s&I;

run;

/加载到一个数据集,纵向合并时proc append会比data步更有效率/

data all;

if _n_=0 then set &&v&I;

run;

proc append base=all data=&&v&I force;

run;

%END;

%mend;

%quan;


参考:

http://crackman.net/?p=243*/

如何合并sas数据集和一个EXCEL文件中的两个sheet

http://www.dataguru.cn/article-2126-1.html

求把excel中多个sheet导入SAS,多个sheet

https://bbs.pinggu.org/thread-1122443-1-1.html


「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-2478401-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
数据分析师 人大经济论坛 大学 专业 手机版
联系客服
值班时间:工作日(9:00--18:00)