SAS宏变量和文件扩展名

Cke*_*ane 4 sas

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

%let RepDate = &SYSDATE9; 
Run Code Online (Sandbox Code Playgroud)

日期工作正常,但是当我使用以下代码导出数据时:

PROC EXPORT DATA=MYData         
OUTFILE="C:\Documents and settings\Documents\myFile &RepDate.XLS"     DBMS=EXCEL2000 REPLACE;
RUN;
Run Code Online (Sandbox Code Playgroud)

日期输入文件名okay,但XLS被添加到文件名.缺少文件扩展名的点,文件名变为:

myFile02APR2012XLS
Run Code Online (Sandbox Code Playgroud)

这不是我的预期,我期望文件名如下:myFile02Apr2012,其中.XLS作为文件扩展名.有没有办法来解决这个问题?

Tom*_*don 13

你需要

OUTFILE="C:\Documents and settings\Documents\myFile &RepDate..XLS"
Run Code Online (Sandbox Code Playgroud)

你需要额外使用.在&RepDate宏变量引用之后.首先 .终止宏变量引用,第二个.然后是字符串的一部分.

要明白为什么.是必要的,您可能想要构建一个文件名

02Apr2012MyFile.XLS
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您可以尝试写:

&RepDateMyFile.XLS
Run Code Online (Sandbox Code Playgroud)

但是sas解释器不知道宏变量名称的结束位置和字符串文本是否继续,因此需要一个点来结束宏变量引用:

&RepDate.MyFile.XLS
Run Code Online (Sandbox Code Playgroud)

在你的情况下,你想要放一个.在解析后的宏变量之后立即,因此需要两个点.