For character variable.
data want; set have; by id; set have (firstobs =2 keep = index0 rename= (index0= index1)) have (obs=1 drop = _all_ ); indexlag1 = ifc( first.id, '', lag1(index0)); index1 = ifc( last.id, '', index1); run;
For numeric variable.
data want; set have; by id; set have (firstobs =2 keep = index0 rename= (index0= index1)) have (obs=1 drop = _all_ ); indexlag1 = ifn( first.id, (.), lag1(index0)); index1 = ifn( last.id, (.) , index1); run;