从proc sql写入文件

我是SAS新手,我需要从proc sql中写入一个单独的值到文件中,但我遇到了很多麻烦。请参阅下面的代码。从proc sql写入文件

data _null_; 

FILE 'C:\MyFile.txt';

proc sql;

select datepart(max(DateCreated)) into :dt from epx.temp;

%put &dt date9.;

quit;

run;

我在作业的Precode和Postcode属性中的MACRO中运行此代码。

回答:

proc sql语句在数据步骤中无效。实际上,SAS将proc识别为数据步骤的结束边界,因此您的数据步骤仅包含file语句,并且不执行任何操作。

file语句影响put语句,而不是宏%put语句。

不改变你的通用方法,你可以做到以下几点:

把格式化值成宏变量然后用数据步骤值写入文件。

proc sql; 

select put(datepart(max(DateCreated)),date9.) into :dt from ext.temp;

quit;

data _null_;

FILE 'C:\MyFile.txt';

put "&dt";

run;

另一种方法是做数据的步骤一切,完全避免使用宏变量:

data _null_; 

file 'C:\MyFile.txt';

set ext.temp end=eof;

retain maxdate;

if datepart(DateCreated) gt maxdate then maxdate=datepart(DateCreated);

if eof then put maxdate date9.;

run;

以上是 从proc sql写入文件 的全部内容, 来源链接: utcz.com/qa/258699.html

回到顶部