Something like this? proc sql; create table temp as select a.usubjid, a.avisitn, count1/count2 as pct (select usubjid, avisitn, count(usubjid) as count2 from dataset where trt1 ne '' group by avisitn ) a left join (select usubjid,avisitn,count(usubjid) as count1 from dataset where trt1 ne '' and drug='PLACEBO' group by avisitn) b where a.avisitn=b.avisitn; quit; then you can merge with original with usubjid avisitn....
... View more