This is the SUMMARY solution:
proc summary data=have;
class subjid;
/* if that explodes your memory, sort first and use BY */
/* if dataset is already sorted, use BY anyway */
/* if you use CLASS with more than one variable, add NWAY to the PROC SUMMARY statement */
var date;
output
out=want (drop=_type_ _freq_)
min()=min_date
max()=max_date
;
run;
... View more