这个是我最近解决的问题,欢迎大家批评指点哈!
概述:SAS 可以用input,在指定column 名字的情况下,load数据;可以用proc import 来导入未知column个数的数据,他会自动生成每一列的格式,但有个弊端,就是针对空的列,他会assign char的格式,如果我要append同样格式的文件到第一个文件,第二个文件中那个列不为空,这时,就会出现问题。
下面的方法可以解决,把多个格式一样的数据,load到sas的一个表中,而且可以自动提取表名。
/*summary of the macro variables
Used for Comma delimited csv files.
num -- how many columns in the file
filename -- file name you want to do the qc and summary(including file location*/
%macro infiledata(filename);
proc import datafile="&filename" out=aa replace dbms=csv;
run;
******get the the quantity of the column***********;
%let dsid=%sysfunc(open(aa),i);
%let num=%sysfunc(attrn(&dsid,nvars));
%let rc=%sysfunc(close(&dsid));
%macro importfile(n);
data b0;
infile "&filename" delimiter=',' MISSOVER