Hello Everyone, In the code below, the replace method isn't doing what it should be doing. In fact, when I take that statement out of the code it returns the same results. Can someone please look at this and help me out? Thanks. Note: there are no errors of any kind returned. data final; if 0 then set mbr prov; declare hash h_prov (dataset: 'prov'); declare hiter i_prov ('h_prov'); h_prov.definekey (all: 'yes'); h_prov.definedata (all: 'yes'); h_prov.definedone(); do until (eof); set mbr end = eof; rc = i_prov.first(); do while (rc = 0); if mbr_ped_ind eq 'Y' then do; if prov_ped_ind eq 'Y' and members lt &capacity then do; gdist = geodist(mbr_lat, mbr_lon, prov_lat, prov_lon, 'M'); if gdist le &dist_limit1 then do; members + 1; h_prov.replace(); mbr_id = dw_mbr_key; pcp_id = npi_id; output; leave; end; else if gdist le &dist_limit2 then do; members + 1; h_prov.replace(); mbr_id = dw_mbr_key; pcp_id = npi_id; output; leave; end; else if gdist le &dist_limit3 then do; members + 1; h_prov.replace(); mbr_id = dw_mbr_key; pcp_id = npi_id; output; leave; end; end; end; run;
... View more