【问题标题】:SAS Macro Variable and file extensionsSAS 宏变量和文件扩展名
【发布时间】:2012-04-02 17:52:34
【问题描述】:

我的代码末尾有以下代码,用于将 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

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

【问题讨论】:

    标签: sas


    【解决方案1】:

    你需要

    OUTFILE="C:\Documents and settings\Documents\myFile &RepDate..XLS"
    

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

    要了解为什么 .是必要的,你可能想建立一个文件名

    02Apr2012MyFile.XLS
    

    在这种情况下,你会想尝试写:

    &RepDateMyFile.XLS
    

    但是 sas 解释器不知道宏变量名称在哪里结束并且字符串文本继续,所以需要一个点来结束宏变量引用:

    &RepDate.MyFile.XLS
    

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

    【讨论】:

    • 感谢您的帮助。你准确地回答了这个问题。我原以为这会是某种类型的转义字符。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多