SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 876|回复: 5
打印 上一主题 下一主题

关于合并文件的问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2006-4-21 10:49:04 | 只看该作者

关于合并文件的问题

我已经建立了数据文件夹f,
f中有100个SAS数据文件,名称按照s1,s2,s3,s4,s5,...,s100。
他们格式相同,都有两个变量:SPE和PRO,现需要将他们合并成一个SAS文件,请各位帮忙。
我看过一些资料合并文件的有set语句,merge语句,也可用SQL过程,但像set语句后要列出所有文件,太繁琐了,有简便方法吗?

data   all;
set     f.s1 f.s2 f.s3 f.s4 f.s5 ...f.s100;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2006-4-21 13:23:20 | 只看该作者

to wendygao

如果F下s开头的table只有s1-s100的话,直接按下面的代码运行,当然有其他的话,修改一下where条件即可。
proc sql noprint;
select memname into:tabnm separated by '  ' from sashelp.vtable where
libname='F' and substr(memname,1,1)='S';
quit;

data all;
set &tabnm;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2006-4-21 13:26:37 | 只看该作者

re

注意:separated by 后面的‘’内要有个空格。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2006-4-22 10:36:37 | 只看该作者

谢谢,不过还有个小问题

谢谢 thisischenhan 的帮助,我运行了一下,SQL过程没有问题,但是“set &tabnm;”这个语句在执行有些问题,系统显示WORK.S1.DATA dose not exist; WORK.S2.DATA dose not exist; WORK.S3.DATA dose not exist; ...

我的文件都在F文件夹里,所以我把F下的文件拷贝到WORK文件夹下,就可运行,请问能否修改一下,不用拷贝就能运行吗?
谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2006-4-22 11:00:47 | 只看该作者

RE:

M1:
%macro mg;
data f.all;
set %do i=1 %to 100;    S&i.    %end;;
run;
%mend;
%mg;

M2:
proc sql noprint;
select trim(libname)||'.'||left(memname) into:tabnm separated by '    ' from sashelp.vtable where
libname='F' and substr(memname,1,1)='S';
quit;
data f.all;
set &tabnm;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2006-4-22 12:10:43 | 只看该作者

感谢 em_2002!

按照你的代码,完全可以顺利执行,非常感谢!

另我刚入门不久,希望你推荐几本好的关于学习SAS的书籍,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-10 01:50 , Processed in 0.087073 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表