从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