作者tew (咖啡王子)
站内Statistics
标题Re: [程式] SAS用macro垂直合并多个档案
时间Wed Aug 24 23:17:04 2011
%macro a;
%do i=1990 %to 2009;
proc import datafile="路径\data&i..xls"
out=a
replace;
quit;
proc append base=final data=a force;
quit;
%end;
%mend;
%a;
收工
※ 引述《sinami (天空爆炸)》之铭言:
: [程式问题]: 资料处理
: [软体熟悉度]: 低(1~3个月)
: [问题叙述]: 有20个不同年份的excel档案
: (档案命名有规律,为Data1990, Data1991,...,Data2009这种)
: 每个excel只有一张sheet1,要透过macro用SET来垂直合并这20个sheet1,
: 里面的变数项目都一样
: 图例: (这是Data1990的sheet1表)
: A1 A2 A3 A4 A5 Yr
: ABC 1990
: ABD 1990
: ABE 1990
: (这是Data1991的sheet1表)
: A1 A2 A3 A4 A5 Yr
: ABC 1991
: ABD 1991
: ABE 1991
: (想合并成以下这样的一个档案)
: A1 A2 A3 A4 A5 Yr
: ABC 1990
: ABD 1990
: ABE 1990
: ABC 1991
: ABD 1991
: ABE 1991
: . .
: . .
: . .
: ABC 2009
: ABD 2009
: ABE 2009
: 想请问若要用macro及set写,是否有较简洁的写法?
: 一定要把档案都先读进来,才能一个一个作合并吗?
: 或者可一次到位,能直接用macro写读取+合并,最後只建立一个资料档?
: 恳请版友赐教!!!
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.80.161.160
1F:推 sinami:variable was not found on BASE file. The variable will 08/25 12:15
2F:→ sinami:not be added to the BASE file. 08/25 12:16
3F:→ sinami:还是十分感谢 :) 08/25 12:17
4F:→ tew:那就表示你的档案有一些变项是不一样的 08/25 17:29