通过 sas 宏变量创建动态文件名
Create dynamic filenames via sas macro variables
我正在通过存储过程创建动态网络文件。输出文件是通过 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 变量,我可以看到我的路径是它应该的样子。
有什么想法吗?
宏变量引用不会在单引号内解析。使用双引号:
FILENAME hello "&outputFileName";
我正在通过存储过程创建动态网络文件。输出文件是通过 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 变量,我可以看到我的路径是它应该的样子。
有什么想法吗?
宏变量引用不会在单引号内解析。使用双引号:
FILENAME hello "&outputFileName";