我的代码末尾有以下代码将SAS数据导出到Excel文件。 RepDate在代码开头设置如下:
%let RepDate = &SYSDATE9;
日期完美无缺,但是当我使用以下代码导出数据时:
PROC EXPORT DATA=MYData
OUTFILE="C:\Documents and settings\Documents\myFile &RepDate.XLS" DBMS=EXCEL2000 REPLACE;
RUN;
将日期输入文件名okay,但XLS会添加到文件名中。缺少文件扩展名的点,文件名变为:
myFile02APR2012XLS
这不是我的预期,我期望文件名如下: myFile02Apr2012 使用.XLS作为文件扩展名。有办法解决这个问题吗?
答案 0 :(得分:13)
你需要
OUTFILE="C:\Documents and settings\Documents\myFile &RepDate..XLS"
你需要额外使用。在&RepDate
宏变量引用之后。首先 。终止宏变量引用,第二个。然后是字符串的一部分。
要明白为什么。是必要的,你可能想建立一个文件名
02Apr2012MyFile.XLS
在这种情况下,您可以尝试写:
&RepDateMyFile.XLS
但是sas解释器不知道宏变量名称的结束位置和字符串文本是否继续,因此需要一个点才能结束宏变量引用:
&RepDate.MyFile.XLS
在你的情况下,你想要放一个。紧接着解析后的宏变量,因此需要两个点。