If you don't actually need the PERS2 data set, which has the increments of things something like this should work from the summary task:
proc summary data=cdata.h181 nway;
class duid cpsfamid;
var totslf15 ttlp15x;
output out=fam sum( totslf15 ttlp15x)= famoop faminc ;
run;
There is a variable _freq_ by default that has the number of records involved for each combination of duid and cpsfamid.
... View more