sas - 获取多行/列中变量的最大值

时间:2014-02-12 18:17:37

标签: max sas

我有以下数据......

ID     SEQ     BEGINDATE     ENDDATE
111     2      20MAY2013     21JAN2014
111     2      20JAN2014     .

我想从每个ID&的BEGINDATE或ENDDATE字段获取最大日期。 SEQ组合。因此,对于上述内容,我想最终得到以下结果......

ID     SEQ     FINALDATE
111     2      21JAN2014 

最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

这应该这样做:

data want;
set have;
by id seq;
retain finaldate;
if first.seq then finaldate=.;
finaldate = max(of finaldate begindate enddate);
if last.seq then output;
keep id seq finaldate;
run;

使用RETAIN跨行操作。 max可以使用任意数量的参数,因此跨列不是问题。