您好,我正在使用这些声明:
%LET xls=Selectie_&datum._&hhmm.;
PROC EXPORT DATA=work.selectie OUTFILE="&pad.\&xls..xlsx"
DBMS=XLSX
REPLACE
;
newfile=yes;
quit;
文件已创建正常:注意:“\ SRTZZAPP0274 \ SASData \ NNB \ MFT_Output \ Banksparen \ Selectie_20161028_1118.xlsx”文件已成功创建。
如此肥胖如此之好。 但是当我想使用这个macrovar时,我无法得到这个值。 !NNBankdata是一个环境变种。
%put &pad;
!NNBankData\MFT_Output\Banksparen
那怎么可能旋转!NNBankData也喜欢它在proc export中工作?
已创建pad以读取具有此值的平面文件: NNBankData \ MFT_Output \ Banksparen 并把它放在一个宏var: CALL SYMPUTX('pad',TRIM(pad),'G');
答案 0 :(得分:2)
如果文件名引用的第一个字符是感叹号(!),则SAS将尝试将第一个项目解析为环境变量。
正如用户667489所提到的,以下内容应该为您提供路径:
%put %sysget(pad);
此实例的一个例子:
data _null_;
file "!temp\test.txt";
put 'test';
run;
可在此SGF paper
中找到更多信息答案 1 :(得分:0)
您应该使用%sysget
函数来检索环境变量。