2012-04-11 98 views
1

我试图生成一个变量文件名。SAS - 正确生成变量文件名

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

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

我读了你可以做这样的事情:

ODS pdf文件= “d:\文件目录\ & & mFileNameVariable & I..pdf” NOTOC;

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

我假设它是因为我的字符串以“& I”结尾。

我想到的另一个解决方案,但它接缝不必要/解决方法是修剪(FilePathAndName)和/或分别单独分析值(FilePathAndName FileExtension)的值。

任何洞察力或反馈非常感谢,先感谢您的时间和帮助。

干杯!

回答

7

由于您正在通过宏解析过程进行两次通过,因此您需要在文件名和扩展名之间有一段额外的时间间隔(总计有三个,在宏分辨率期间需要两个通道,一个用于表示分隔符)。

例如

%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".