proc sql;
create table tmp as
select a.stkcd,
case
when b.cnt<5 or (b.cnt>=5 and b.cnt=c.cnt) then year
else a.ygs
end as ygs
from gsvot5 as a left join
(select stkcd, count(*) as cnt from gsvot5 group by stkcd) as b
on a.stkcd=b.stkcd
left join
(select stkcd, count(*) as cnt from gsvot5(where=(ygs=0)) group by stkcd) as c
on a.stkcd=c.stkcd;
quit;