Thank you so much. I also made a bit adjustment as follow: data WANT; do until(last.FIRM); set HAVE; by FIRM; VAL1NMISS=sum(VAL1NMISS, missing(VALUE1)); VAL2NMISS=sum(VAL2NMISS, missing(VALUE2)); VAL3NMISS=sum(VAL3NMISS, missing(VALUE3)); end; do until(last.FIRM); set HAVE; by FIRM; VALUE1=ifn(VAL1NMISS<5 & VALUE1=. & ^first.FIRM, coalesce(VALUE1,n1), VALUE1);n1=VALUE1; VALUE2=ifn(VAL2NMISS<5 & VALUE2=. & ^first.FIRM, coalesce(VALUE2,n2), VALUE2);n2=VALUE2; VALUE3=ifn(VAL3NMISS<5 & VALUE3=. & ^first.FIRM, coalesce(VALUE3,n3), VALUE3);n3=VALUE3; output; end; run;
... View more