SAS宏变量和文件扩展名

SAS宏变量和文件扩展名,sas,Sas,在我的代码末尾有以下代码,用于将SAS数据导出到Excel文件。 代码开头的RepDate设置如下: %let RepDate = &SYSDATE9; 但是,当我使用以下代码导出数据时,日期工作得非常好: PROC EXPORT DATA=MYData OUTFILE="C:\Documents and settings\Documents\myFile &RepDate.XLS" DBMS=EXCEL2000 REPLACE; RUN; 日期已

在我的代码末尾有以下代码,用于将SAS数据导出到Excel文件。 代码开头的RepDate设置如下:

%let RepDate = &SYSDATE9; 
但是,当我使用以下代码导出数据时,日期工作得非常好:

PROC EXPORT DATA=MYData         
OUTFILE="C:\Documents and settings\Documents\myFile &RepDate.XLS"     DBMS=EXCEL2000 REPLACE;
RUN;
日期已输入到文件名中,但XLS已添加到文件名中。文件扩展名的点丢失,文件名变为:

myFile02APR2012XLS
这不是我所期望的,我期望文件名如下: 2012年4月2日 以.XLS作为文件扩展名。有办法解决这个问题吗?

您需要

OUTFILE="C:\Documents and settings\Documents\myFile &RepDate..XLS"
你需要用一个额外的。在
&RepDate
宏变量引用之后。第一个。终止宏变量引用,并终止第二个变量引用。然后是字符串的一部分

去理解为什么。如果需要,您可能需要生成文件名

02Apr2012MyFile.XLS
在这种情况下,您可能希望尝试编写:

&RepDateMyFile.XLS
但是sas解释器不知道宏变量名称在哪里结束,字符串文本继续,因此需要一个点来结束宏变量引用:

&RepDate.MyFile.XLS

在你的情况下,你想把一个。在解析的宏变量之后,需要两个点。

谢谢您的帮助。你完全回答了这个问题。我原以为这是某种类型的逃避角色。