作者teenager7571 (angel)
站内Statistics
标题[问题] sas汇入多个档案
时间Mon Aug 17 14:27:08 2009
我是sas的新手
从看到有人说可以用macro汇入多个档案
我的资料来源是北区2005的空气污染
我已经把档名改成a001-a026
data a1;
infile 'C:\Users\Angel\空污资料\北区空污资料\94年北部空品区\a001.csv' dlm=','
missover dsd firstobs=2 /*excel档的第二行变成第一行(直接读取数字)*/;
informat VAR1 yymmdd10.; /*日期栏位需有十位*/
format VAR1 yymmdd10. ;
input VAR1 VAR2 $ VAR3 $ _ $ VAR5 $ VAR6 $ VAR7 $ VAR8 $ VAR9 $ VAR10 $
VAR11 $ VAR12 $ _0 $ _1 $ _2 $ _3 $ _4 $ _5 $ _6 $ _7 $ _8 $ _9 $ VAR23 $
VAR24 $ VAR25 $ VAR26 $ VAR27 $;
run;
上面是一般的方法
但是还是要把语法复制贴上更改多次
我试着用macro去读档
%MACRO a;
%DO ij=01 %TO 26;
DATA a0&ij;
INFILE "C:\Users\Angel\空污资料\北区空污资料\94年北部空品区\a001.csv";
input VAR1 VAR2 $ VAR3 $ _ $ VAR5 $ VAR6 $ VAR7 $ VAR8 $ VAR9 $ VAR10 $
VAR11 $ VAR12 $ _0 $ _1 $ _2 $ _3 $ _4 $ _5 $ _6 $ _7 $ _8 $ _9 $ VAR23 $
VAR24 $ VAR25 $ VAR26 $ VAR27 $;
run;
%END;
%MEND;
%a;
可是读出来的26个档内容全部变成了日期
有人可以帮帮我嘛
谢谢>"<
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.235
※ 编辑: teenager7571 来自: 140.112.4.235 (08/17 14:27)
1F:→ kingbee:已经excel档了 建议写成import 的巨集语法 08/17 15:14
2F:→ west1996:内容全部变成日期是什麽意思?乍看之下infile後面读的档 08/17 15:55
3F:→ west1996:案没改到,这样会重复读同一个档,不过全部变成日期应 08/17 15:56
4F:→ west1996:该不是这个原因。如果要用macro语法的话,建议先把doloop 08/17 15:56
5F:→ west1996:拿掉。先成功的把"读一次外部资料"这个动作从原本的data 08/17 15:57
6F:→ west1996:step转成macro语法确定可以work之後再加上do loop 08/17 15:57
7F:推 chien533:建议用macro+do loop+proc import 轻松搞定 08/18 01:05