以下のコードを使用して、複数の Excel ファイルをインポートしようとしています。各 Excel ファイルには、数値とテキスト値の両方を含む列がありますが、proc インポートは数値のみをインポートし、テキスト値を空白 ('.') として配置します。
誰でもこの問題を手伝ってもらえますか? どうもありがとう。
%let subdir=S:\Temp\;
filename dir "&subdir.*.xls";
data new;
length filename fname $ 32767;
infile dir eof=last filename=fname;
input ;
last: filename=fname;
run;
proc sort data=new nodupkey;
by filename;
run;
data null;
set new end=last;
call symputx(cats('filename',_n_),filename);
call symputx(cats('dsn',_n_),scan(scan(filename,7,'\'),1,'.'));
if last then call symputx('nobs',_n_);
run;
%put &nobs;
%macro import;
%do i=1 %to &nobs;
proc import datafile="&&filename&i" out=&&dsn&i
dbms=excel replace;
sheet = "Sheet1";
getnames=yes;
mixed=yes;
run;
%end;
%mend import;
%import