我有输入文件,其中第一行有标题信息。(制表符分隔的数据值)。在这些值中,有一个整数值指定应如何解析文件的其余部分。如果该值小于阈值,则应以一种方式解析文件,否则如果该值大于阈值,则应以不同方式解析数据。
%let isNew = Undefined;
data header;
infile "&infile" OBS=1;
INPUT Agency $ Status $ Num $ fdate sdate;
if fdate < 20130428 then
%let isNew = false;
else
%let isNew = true;
run;
data factors;
infile "&infile" missover FIRSTOBS=2 LRECL=1000;
if isNew = false then
input
@1 poolno $6.
@7 factor 9.8 @;
else
input
@3 poolno $6.
@9 factor 9.8 @;
(some more input parsing code)
在上面的代码中,我定义了一个变量 isNew 并根据条件检查将该变量设置为真/假。在后续的数据块中,我使用这个变量的值来决定文件的解析方式。
示例输入文件是(要检查的值以粗体显示):
FHLMC 更新 #1 20130130 20130306
138788024201321000
140379000000000000
我是 SAS 新手。请问有什么建议吗?