登录
首页精彩阅读SAS 批量导入外部文件代码
SAS 批量导入外部文件代码
2016-09-02
收藏

SAS 批量导入外部文件代码

最近研究了一下SAS关于批量导入外部数据的问题,下面自己写了一个关于XML数据批量导入的示例宏,有一个前提,数据结构必须一致,下面为实现宏代码:


 %macro batch(

*Output the dataset;

out= ,     

*The path of dataset;

path=,      

*The type of dataset;

type=     

);
filename filelist pipe "dir &path /b ";
data flList;
 infile filelist truncover;
    input xmlname $200.;
    if scan(xmlname,2,".") in ("&type");
 run;

%let dsid=%sysfunc(open(flList,i));  *Dataset ID;  
 %let nobs=%sysfunc(attrn(&dsid,nobs));  *Number of variables in the dataset;
 %let cld = %sysfunc(close(&dsid));   *Close dataset;

%do i = 1 %to &nobs;
 data _null_;
   set flList;
  if _n_ = &i;
  call symput ('filenames',xmlname);
 run;

libname myxml xml "&path&filenames";
 data item;
  set myxml.item;
 run;

proc datasets noprint;
          append base=&out data=item;
    quit;
%end;
%mend batch;

�tch(out=fileList,path=E:\test\,type=xml);




此宏通过修改局部小部分地方可以适用多种类型的文件,cvs,excel,xml......


数据分析咨询请扫描二维码

客服在线
立即咨询