在SAS中使用宏变量时导入csv文件时遇到问题

时间:2018-09-28 10:08:28

标签: import macros sas

我在unix SAS中编写了一个代码,用于从当前文件夹导入多个csv文件。为宏变量分配了正确的值,但是以某种方式未导入相关文件。我收到以下错误消息

错误:物理文件不存在,/ work / pricepromo / modeler / tolapa01 / pawan /&j..csv。 错误:导入失败。有关详细信息,请参见SAS日志。

下面是代码。

OPTIONS MERROR MPRINT SERROR MLOGIC SYMBOLGEN ;
X ls *.csv > list;

data name    ;
infile 'list' delimiter = ',' MISSOVER DSD lrecl=32767 firstobs=1 ;
   informat name_list $9. ;
   format name_list $9. ;
input
            name_list $
;
run;

data name2;
set name;
name_mod=translate(name_list,'','.csv');
run;

proc sql;
select name_mod into :name separated by '*' from name2;
%let count2 = &sqlobs;
quit;


%macro yy;
%do i = 1 %to &count2;
%let j = %scan(&name,&i,*);
proc import out = &j datafile='./&j..csv'
dbms=csv replace;
run;
%end;
%mend;

%yy;

1 个答案:

答案 0 :(得分:1)

尝试使用双引号

datafile="./&j..csv"

不是

datafile='./&j..csv'

使用所有这些选项,从读取SAS日志中应该显而易见。