这是另一个数据步骤解决方案,使用DOW循环而不是保留:
data have;
input ID Field_1 Field_2 $;
datalines;
1 4 8
1 9 5A
;
run;
data want;
do until(last.id);
set have;
by id;
if first.id then field_1_1st = field_1;
end;
field_1 = field_1_1st;
drop field_1_1st;
run;
</code>
它依次加载每一行,但只输出每个id的最后一行,因此您不必将其作为特殊情况处理。
注:这只适用于您的输入数据集
的
不
</强>
包含一个名为的字段
field_1_1st
。如果是,则每个id的第一行的值将不会继续。