You missed a variable in MERGE. Code: Program data dat1 ; LENGTH var1 $4 var2 $6 var3 8 var4 8 var5 $5; input var1 : $CHAR4. var2 : $CHAR6. var3 : BEST8. var4 : BEST8. var5 : $CHAR5.; CARDS; John store1 100 28005 city1 John store1 105 465 city2 John store1 103 12400 city3 John store2 104 15444 city4 John store2 5 45125 city5 John store2 40 45789 city6 John store2 8 9000 city7 ; RUN; proc univariate data=dat1 noprint ; VAR var3; by var1 var2; output out=dat2 Max=Max; RUN; proc sort data=dat1;by var1 var2 var3;run; data want; merge dat1(rename=(var3=max)) dat2(in=inb); by var1 var2 max; if inb; RUN; Xia Keshan
... View more