Jak wykonać połączenie zewnętrzne w sas (z przykładem)
Aby wykonać sprzężenie zewnętrzne z dwoma zestawami danych w SAS-ie, możesz użyć następującej podstawowej składni:
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 ;
W tym konkretnym przykładzie wykonywane jest złączenie zewnętrzne przy użyciu instrukcji pełnego złączenia i zwracane są wszystkie wiersze w zestawach danych o nazwach data1 i data2 .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: wykonywanie połączenia zewnętrznego w SAS-ie
Załóżmy, że mamy w SAS-ie następujące dwa zbiory danych zawierające informacje o różnych drużynach koszykówki:
/*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;
Możemy użyć następującej składni, aby wykonać sprzężenie zewnętrzne i utworzyć nowy zbiór danych zawierający każdy wiersz z obu zbiorów danych:
/*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;
Wynikowy zestaw danych zawiera każdy wiersz z każdego indywidualnego zestawu danych.
Należy pamiętać, że musieliśmy użyć funkcji COALESCE , aby upewnić się, że w wynikowym zbiorze danych zostały zwrócone nazwy zespołów z obu zbiorów danych.
Gdybyśmy nie skorzystali z tej funkcji, w wynikowym zbiorze danych wyświetliłyby się jedynie wartości kolumn zespołu z pierwszego zbioru danych.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:
Jak wykonać połączenie wewnętrzne w SAS
Jak wykonać lewe połączenie w SAS
Jak usunąć duplikaty w SAS-ie