Как выполнить левое соединение в sas (с примером)
Вы можете использовать следующий базовый синтаксис для выполнения левого соединения с двумя наборами данных в SAS:
proc sql;
create table final_table as
select * from data1 as x left join data2 as y
on x.ID = y.ID;
quit;
В следующем примере показано, как использовать этот синтаксис на практике.
Связанный: Как выполнить внутреннее соединение в SAS
Пример: левое соединение в SAS
Предположим, у нас есть следующие два набора данных в SAS:
/*create datasets*/
data data1;
input team $points;
datalines ;
Mavs 99
Spurs 93
Rockets 88
Thunder 91
Warriors 104
Cavs 93
Grizzlies 90
Hawks 91
;
run ;
data data2;
input team $rebounds;
datalines ;
Mavs 21
Spurs 18
Rockets 22
Warriors 27
Cavs 15
Hawks 29
;
run ;
/*view datasets*/
proc print data =data1;
proc print data =data2;
Обратите внимание, что оба набора данных имеют общую переменную: team .
Мы будем использовать следующий синтаксис для выполнения левого соединения и создания нового набора данных, содержащего каждую строку в data1 и только те строки в data2 , которые соответствуют названию команды в data1 :
/*perform left join*/
proc sql;
create table final_table as
select * from data1 as x left join data2 as y
on x.team = y.team;
quit ;
/*view results of left join*/
proc print data =final_table;
Результирующий набор данных содержит все исходные команды из data1 , но единственные команды, у которых есть значения для столбца отказов , — это те, которые также появляются в data2 .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как нормализовать данные в SAS
Как заменить символы в строке в SAS
Как заменить пропущенные значения нулями в SAS
Как удалить дубликаты в SAS