Dears, I have data set named as have contain 3 variables and 1048579 rows and I am trying to run the following code but allows get the following errors : ERROR: Hash data set load failed at line 85 column 4. ERROR: Hash object added 0 items when memory failure occurred. FATAL: Insufficient memory to execute DATA step program. Aborted during the EXECUTION phase. ERROR: The SAS System stopped processing this step because of insufficient memory. code: proc sort data=have; by acct_id date; run; data answers(drop=_: dpd); set have; by acct_id date; retain FWD12mont_default_flg '0' default_Exclusion '0'; /* populate bqr1 to bqr12 and current and FWD default_flg */ if acct_id >= 1 then do; dcl hash h1(dataset:cats('have (where=(acct_id="', acct_id, '"))'), ordered:'y'); h1.defineKey('acct_id', 'date'); h1.defineData('dpd'); h1.defineDone(); declare hiter hh1 ('h1'); FWD12mont_default_flg='0'; end; array _arr_bqr(*) $1 dpd1-dpd13; call missing(of _arr_bqr(*)); _rc=hh1.setcur(key:acct_id, key:date); do _i=1 to 13 while (_rc=0); _arr_bqr[_i]=dpd; if dpd='9' then FWD12mont_default_flg='1'; _rc=hh1.next(); end; if last.acct_id then h1.delete(); /* populate bqr1 to bqr12 and current and BKW default_Exclusion */ if acct_id >= 1 then do; dcl hash h11(dataset:cats('have (where=(acct_id="', acct_id, '"))'), ordered:'descending'); h11.defineKey('acct_id', 'date'); h11.defineData('dpd'); h11.defineDone(); declare hiter hh11 ('h11'); default_Exclusion='0'; end; /* populate bqr1 to bqr12 and default_flg */ array _arr_Hbqr(*) $1 BKW_dpd1-BKW_dpd13; call missing(of _arr_Hbqr(*)); _rc=hh11.setcur(key:acct_id, key:date); do _i=1 to 13 while (_rc=0); _arr_Hbqr[_i]=dpd; if dpd='9' then default_Exclusion='1'; _rc=hh11.next(); end; if last.acct_id then h11.delete(); run;
... View more