我正在尝试仅使用最后一行数据从较大的表创建汇总表。我有以下代码:
proc sort data=&data.;
by date;
run;
data &data._summary;
set &data.;
by date;
if last.date;
run;
我的理解是,这应该只输出一行(日期的最后一个值),但它会保留所有值。我在这里做错了什么?
来自文档
首先。和最后。 DATA 步骤变量
...
在 DATA 步骤中,SAS 识别每个 BY 的开始和结束 group通过为每个BY创建以下两个临时变量 变量:
• FIRST.变量
• 最后一个变量
如果您想要数据集中的最后一个观察结果,可以使用
END=
选项为最后一行设置标志。
data want (label='Last row of have') ;
set have end=lastrow ;
if lastrow ;
run ;