Üç tabloyu birleştirmem gerekiyor, her tablo 100K -200K kayıtları arasında. Bu birleşme beş dakika sürer. Aşağıdaki kodu bir karma birleştirmeye dönüştürmek için yardıma ihtiyacım var. Şimdiden çok teşekkürler. Yalnızca niye hesaplamalar ile rahatsız var1-var4 saklıyorsan eğersas hash birleştirme vs veri adım birleştirme
data &dsource..main_input;
merge &dsource..sorted_swf (in=here1)
&dsource..sorted_input2 (in=here2)
&dsource..sorted_input9 (in=here3);
by control;
if (here1) then do;
%recode_div
if typec = 45 then elig_hu= '1';
else if (status eq '1') or ((status in ('2','3')) and (type in ('1','2','4','6','10','11'))) then elig_hu = '1';
else if (status eq '4') then do;
if (noint in (1,2,3,5,6)) then elig_hu = '1';
else if (noint eq 4) or (10 <= noint <= 43) then elig_hu = '0';
end;
else if (status in ('2','3')) and (type in ('5','7','8','9')) then elig_hu = '0';
else elig_hu = '9';
output;
keep var1 var2 var3 var4;
end;
run;
data want;
set finput.input2;
if _n_ = 1 then do;
%create_hash(in2,control,region,"ftest5.swf");
%create_hash(in9,control,hudadmin,"ftest5.input9");
end;
/*<initialize lookup variables>*/
rc = in2.find();
rc = in9.find();
if rc then do;
/* <handle case where lookup fails>*/
end;
drop rc;
run;
mı? – Reeza