Last.variable 未返回预期结果

问题描述 投票:0回答:1

我正在尝试仅使用最后一行数据从较大的表创建汇总表。我有以下代码:

proc sort data=&data.;
   by date;
run;

data &data._summary;
   set &data.;
   by date;
   if last.date;
run;

我的理解是,这应该只输出一行(日期的最后一个值),但它会保留所有值。我在这里做错了什么?

sas
1个回答
0
投票

来自文档

首先。和最后。 DATA 步骤变量
...
在 DATA 步骤中,SAS 识别每个 BY 的开始和结束 group通过为每个BY创建以下两个临时变量 变量:
• FIRST.变量
• 最后一个变量

如果您想要数据集中的最后一个观察结果,可以使用

END=
选项为最后一行设置标志。

data want (label='Last row of have') ;
  set have end=lastrow ;
  if lastrow ;
run ;
© www.soinside.com 2019 - 2024. All rights reserved.