程序如下: data drugevent; declare hash subjcnt(ordered:"Y");
subjcnt.definekey("subject");
subjcnt.definedata("counter");
subjcnt.definedone();
declare hash ae(ordered:"Y");
ae.definekey("subject","counter");
ae.definedata("subject","drug","medstdt","counter");
ae.definedone();
do until (eof);
set advrpt.conmed end=eof;
if subjcnt.find() then counter=1;
else counter+1;
rc=subjcnt.replace();
rc=ae.add();
end;
do until (eof1);
set advrpt.ae end=eof1;
counter=1;
rc=ae.find();
do while (rc=0);
if (0 le AESTDT-medstdt le 5) then output drugevent;
counter+1;
rc=ae.find();
end;
end;
run;
为什么要加上rc=subjcnt.replace();(如程序中标红色的显示), rc=ae.add();不是可以直接根据subject和counter这两个索引进行添加数据吗?