作者kingbee ( 将心比心)
站内Statistics
标题Re: [问题] 利用MACRO垂直合并资料
时间Fri Mar 13 17:06:58 2009
随手写一下的 因为没有档案可以测试不知道对不对
你的excel档因该都是靠编号的吧 若是连续的话(最後档为120) 就把最下面填上120
%macro merg( datanum );
%do i = 1 %to &datanum;
PROC IMPORT OUT= data&i
DATAFILE= "D:\test\book&i"
DBMS=EXCEL REPLACE;
SHEET="sheet1";
GETNAMES=NO;
RUN;
%end;
DATA D;
SET
%do j =1 %to &datanum;
data&j
%end;
;
PROC PRINT;
RUN;
%mend;
%merg(datanum);
※ 引述《contente (妹妹)》之铭言:
: PROC IMPORT OUT= A
: DATAFILE= "D:\book1.xls"
: DBMS=EXCEL REPLACE;
: SHEET="sheet1";
: GETNAMES=NO;
: RUN;
: PROC IMPORT OUT= B
: DATAFILE= "D:\book2.xls"
: DBMS=EXCEL REPLACE;
: SHEET="sheet1";
: GETNAMES=NO;
: RUN;
: PROC IMPORT OUT= C
: DATAFILE= "D:\book3.xls"
: DBMS=EXCEL REPLACE;
: SHEET="sheet1";
: GETNAMES=NO;
: RUN;
: DATA D;
: SET A B C;
: PROC PRINT;
: RUN;
: 请问各位高手
: 如何利用MACRO指令一次把三个档案合并再一起呢?
: 谢谢回答!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.75.188.45
1F:推 tew:data d; set data&1-&datanum 是OK的吗? 03/13 17:11
2F:推 tew:顺序可能有误 因为是在%end;之後 有可能跑不出来 03/13 17:11
3F:推 jasonlian:data d; set data&1-&datanum 这样写不行,建议改成: 03/14 00:21
4F:→ jasonlian:%do j=1 %to &datanum; 03/14 00:22
5F:→ jasonlian:proc append base=D data=data&j; 03/14 00:23
6F:→ jasonlian:%end; 03/14 00:23
7F:推 jasonlian:或者也可把 proc append...放在上面的%do i 回圈里也行 03/14 00:26
※ 编辑: kingbee 来自: 163.29.135.120 (03/16 09:25)