Моя интерпретация вашего вопроса такова, что если setA содержит
key value
1 67
2 3
3 4
8 16
9 16
10 4
и setB содержит
key1 key2
8 9
10 3
тогда вы хотите, чтобы новый setA выглядел следующим образом (потому что ключ = 9 - это дублирование ключа = 8
и ключ = 10 является дублированием ключа = 3):
key value
1 67
2 3
3 4
8 16
Если я правильно истолковал ваш вопрос, вы можете сделать это с помощью кода SAS:
data dupes_to_remove (keep=larger_key rename=(larger_key=key));
set setB;
if key1 > key2 then larger_key = key1;
else larger_key = key2;
output;
run;
proc sort data=dupes_to_remove nodupkey;
by key;
run;
data setA_new;
merge setA dupes_to_remove (in=in_dupes);
by key;
if not in_dupes;
run;
(Также обратите внимание, что обычный термин в SAS - это «переменная», а не «атрибут».)