【发布时间】:2013-06-28 02:20:40
【问题描述】:
我想使用PUT 语句创建动态代码。根据 SUGI 29 (http://www2.sas.com/proceedings/sugi29/175-29.pdf) 的这份文件,
put
"data XXXXX; "
/ 'infile "&datadir/&compid&filetype" missover ls=' tbla_fle
';' / 'input'
;
相当于运行
data onecomp ;
infile
"&datadir/&compid&filetype"
missover ls = 268 ;
input
但是,当我尝试类似于他们的示例时,PUT 语句中包含的代码不会运行,而是写入 SAS 输出日志:
data _NULL_;
put // "data put_test;" / "b=2;" / "run;";
run;
In Output Log:
data put_test;
b=2;
run;
我检查了 SAS 文档,似乎PUT 仅用于“将行写入 SAS 日志、SAS 输出窗口或在最近的 FILE 语句中指定的外部位置。”没有任何地方说它可以用来创建动态生成的代码。
我知道我一定错过了什么,但我不确定是什么。我正在使用 SAS Enterprise Guide 4.1。
谢谢!
【问题讨论】: