Як виконати зовнішнє об’єднання в sas (з прикладом)
Щоб виконати зовнішнє об’єднання з двома наборами даних у SAS, можна використати такий базовий синтаксис:
proc sql ;
create table final_table as
select coalesce(x.team, y.team) as team, x.team, x.points, y.team, y.assists
from data1 as x full join data2 as y
on x.team = y.team;
quit ;
Цей конкретний приклад виконує зовнішнє об’єднання за допомогою оператора повного об’єднання та повертає всі рядки в наборах даних під назвою data1 і data2 .
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: виконання зовнішнього об’єднання в SAS
Припустімо, що у SAS є два набори даних, які містять інформацію про різні баскетбольні команди:
/*create datasets*/
data data1;
input team $points;
datalines ;
At 18
B22
C19
D 14
E14
F 11
G20
H 28
;
run ;
data data2;
input team $assists;
datalines ;
At 4
B9
C14
D 13
L 10
M 8
;
run ;
/*view datasets*/
proc print data =data1;
proc print data =data2;
Ми можемо використати такий синтаксис, щоб виконати зовнішнє об’єднання та створити новий набір даних, що містить кожен рядок з обох наборів даних:
/*perform outer join*/
proc sql ;
create table final_table as
select coalesce(x.team, y.team) as team, x.team, x.points, y.team, y.assists
from data1 as x full join data2 as y
on x.team = y.team;
quit ;
/*view results of outer join*/
proc print data =final_table;
Отриманий набір даних містить кожен рядок із кожного окремого набору даних.
Зауважте, що нам довелося використовувати функцію COALESCE , щоб переконатися, що імена команд з обох наборів даних повертаються в результуючому наборі даних.
Якби ми не використовували цю функцію, у результуючому наборі даних відображалися б лише значення стовпця команди з першого набору даних.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:
Як виконати внутрішнє об’єднання в SAS
Як зробити об’єднання зліва в SAS
Як видалити дублікати в SAS