Этот пример показывает, что у вас правильный подход.
data elig;
input lukey1 lukey2;
datalines;
1 1
1 2
2 4
3 6
3 7
run;
data all;
do key1 = 1 to 10; do key2 = 1 to 10;
array x(5) (1:5);
output;
end; end;
run;
data all_elig;
length lukey1 lukey2 8;
call missing (lukey1,lukey2);
if _n_ = 1 then do;
declare hash elig (dataset:"elig");
elig.defineKey ('lukey1','lukey2');
elig.defineDone ();
end;
set all;
if 0 = elig.find(key:key1, key:key2);
run;
Процесс, как показано, на самом деле не является слиянием, поскольку поисковый хэш не имеет явных элементов данных.Ключи являются неявными данными, когда данные не указаны.
Если вы выбираете все строки данных, первым пунктом для устранения неполадок является bene.elig_bene_uid
.Случайно ли это ключи - суперсет из data
?