【发布时间】:2012-05-11 04:51:50
【问题描述】:
我正在尝试编写一个 SAS 脚本,该脚本将简单地读取 SAS .sas7bdat 数据文件并以文本格式输出。我希望日期以 YYYYMMDD 格式输出。我不知道日期列的名称是什么。我的脚本目前是:
libname tmplib '~/testdatadir/';
OPTIONS MISSING='00'x;
data tmpdata;
set tmplib.testdatafile;
array flds{*} _NUMERIC_;
do i=1 to dim(flds);
if missing(flds(i)) then flds(i)=.;
end;
array charflds{*} _CHARACTER_;
do i=1 to dim(charflds);
if missing(charflds(i)) then charflds(i)=' ';
end;
drop i;
RUN;
PROC EXPORT
DATA = tmpdata
OUTFILE = 'testdataoutfile.txt'
DBMS = TAB REPLACE;
PUTNAME = YES;
RUN;
我想遍历所有日期字段(就像我使用 NUMERIC 字段和 CHARACTER 字段一样),或者为每个 NUMERIC 字段测试它是否是日期(然后我可以更改格式),或者在 PROC EXPORT 中添加一个选项以指示输出日期格式。任何其他让输出文件的日期格式为 YYYYMMDD 的方法也是可以接受的。
【问题讨论】:
-
您的数据中是否有某些内容表明变量是日期?它是否已经格式化为日期?它的名称中有什么东西表明它是一个日期吗?
标签: sas