SAS - 正确生成可变文件名

时间:2012-04-11 18:55:55

标签: 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)的值单独结合。

非常感谢任何见解或反馈,请提前感谢您的时间和帮助。

干杯!

1 个答案:

答案 0 :(得分:7)

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

e.g。

%let mFileNameVariable1=myfile;
%let l=1;
ods pdf file="C:\Temp\&&mFileNameVariable&l...pdf" notoc;  /*note 3 periods!!*/

登录

NOTE: Writing ODS PDF output to DISK destination "C:\Temp\myfile.pdf", printer "PDF".