SAS - 正确生成可变文件名

1 filenames sas sas-macro

我正在尝试生成一个变量文件名.

ods pdf file ="D:\ FileDirectory\&& mFileNameVariable&I .pdf"notoc;

这会生成一个变量文件名,但会在扩展名之前添加一个空格(例如FileName .pdf;我需要FileName.pdf).

我读到你可以这样做:

ods pdf file ="D:\ FileDirectory\&& mFileNameVariable&I..pdf"notoc;

添加扩展点; 但是,当我尝试该宏不起作用时,我得到一个WYSIWYG值(例如.&& mFileNameVariable&I.pdf).

我假设它是因为我的字符串以"&I"结尾.

我想到的另一个解决方案,但是它不必要/解决方法是修剪(FilePathAndName)和/或(或者FilePathAndName FileExtension)将值单独地连接起来.

我们非常感谢您的任何见解或反馈,并提前感谢您的时间和帮助.

干杯!

cmj*_*hns 7

由于您在宏分辨率过程中进行了两次传递,因此需要在文件名和扩展名之间增加一段时间(总共三次,在宏分辨率期间为2次,一次代表分隔符).

例如

%let mFileNameVariable1=myfile;
%let l=1;
ods pdf file="C:\Temp\&&mFileNameVariable&l...pdf" notoc;  /*note 3 periods!!*/
Run Code Online (Sandbox Code Playgroud)

在日志上

NOTE: Writing ODS PDF output to DISK destination "C:\Temp\myfile.pdf", printer "PDF".
Run Code Online (Sandbox Code Playgroud)