之前用这段代码写文件时,没有问题,现在用到另外一个数据集时,总是卡在DATA步,然后就未响应,不得不强制关闭。有没有知道是什么原因呢?结果集有112记录9个变量。
options noxwait noxsync;
x '"E:\报表.xlsx"';
data _null_; rc = sleep(5); run;
data vars; set sashelp.vcolumn; where memname = 'RESULT'; keep name; run;
proc sql noprint;
create table vars as
select varnum, name from dictionary.columns where memname = 'RESULT' order by varnum;
select name into :v1-:v9 from vars order by varnum;
quit;
%put _user_;
filename r1 dde 'excel|E:\\[报表.xlsx]raw data1!r1c1:r113c9';
data _null_;
set RESULT;
file r1 notab linesize = 2000;
if _n_=1 then put "&v1" '09'x "&v2" '09'x "&v3" '09'x "&v4" '09'x "&v5" '09'x
"&v6" '09'x "&v7" '09'x "&v8" '09'x "&v9" ;
put &v1 '09'x &v2 '09'x &v3 '09'x &v4 '09'x &v5 '09'x &v6 '09'x &v7 '09'x &v8 '09'x &v9;
run;
data _null_;
x=put(&max_date - 1,yymmdd10.);
z=compress(input(substr(x,6,2),best8.)||"."||input(substr(x,9,2),best8.));
call symput("path",z);
run;
filename r2 dde 'excel|system';
data _null_;
file r2;
put '[workbook.activate("报表")]';
x = compress('[save.as("E:\报表('||"&path"||').xlsx")]');
put x;
/* put '[file.close(false)]';*/
/* put '[quit]';*/
run;