通过sas宏变量创建动态文件名

时间:2015-04-07 13:21:23

标签: sas filenames

我正在通过存储过程创建动态网页文件。输出文件是通过proc流生成的。但是,在创建动态文件路径时,我做错了什么。 以下简化示例有效:

FILENAME hello 'D:\test\hello.html';
proc stream outfile=hello; begin
    hello world
;;;;

然而,当我尝试使用do循环动态创建文件时,我根本没有得到任何输出。 (也没有错误)

%do i=1 %to 3;
    %let outputFileName = D:\test\&i%str(.html);
    FILENAME hello '&outputFileName';
    proc stream outfile=hello;   begin
        Hello world
    ;;;;
%end;

如果我输入outputFileName变量,我可以看到我的路径应该是它应该的样式。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

宏变量引用不会在单引号内解析。使用双引号:

FILENAME hello "&outputFileName";