Hi, I cannot find a solution for the following problem, which I additionaly do not understand. I have a large data step with several hash objects and iterators. Somehow at the start of a new observation the full content of all objects is printed to log (which slow down the computing time massively). The follwing WARNING is printed to the SAS log: WARNING: Limit set by ERRORS= option reached. Further errors of this type will not be printed. However this only happens when the lookup object was succesful. I tried to produce a smaller test macro, but failed to reproduce the warnings, it only happens when I ran with full glory (maybe some hash limits are reached?). I know its difficult to find out based on the information I provide, however I want to know when and why hash objects write contents to the log? Here is a small example how I initialize has objects. %macro checkerrs;
data _null_;
set dataset;
if _n_ = 1 then do;
declare hash lookupdata;
lookupdata = _new_ hash(dataset:"check_rebal", ordered:"yes");
lookupdata.defineKey( "Date", "ID" );
lookupdata.defineData( "var1", "varN" );
lookupdata.defineDone();
format var1 best.;
format varN best.;
end;
rc = lookupdata.find();
if rc=0 then put Date_ Date ID var1;
run;
%mend; %checkerrs; I'm on version 9.4 TS Level 1M4. many thanks in advance for any help.
... View more