现在有两个宏变量 &file 和&ul;%let file=fileindex;
%let ul=11;
我实际上需要使用宏变量 &file11 (假定其已经赋值);
尝试了各种办法:
%put &file. &ul.;
%put &&file.&ul. ;
%put &&file.%left(&ul.) ;
%put &&file.&ul. ;
%put &&file.&ul. ;
结果显示各种不对;
求教如何合并起来使用?
====================================分割线=================================
之前的问题可能没表述清楚,实际问题是这样的:
我有一个文件的索引集 fileindex, 然后想把每个文件名放入一个宏变量中,ul (uplimit)代表最后一个文件名的编号,此处是970;
放完之后,我是想看一下最后一个宏变量,即&file970. ,但是970是事先不知道的,即我希望输出&&file&ul. 的值,我并不知道它是&file970;
data _null_;set fileindex nobs=m;
call symput('ul',m);
run;
proc sql noprint;
select x into: file1-:file%left(&ul.) from fileindex
;quit;
%put &file970; 显示了文件名,说明该宏变量存在,但用各种&&file&ul. 无法显示。
求教如何解决上述问题?