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....