Een outer join uitvoeren in sas (met voorbeeld)
U kunt de volgende basissyntaxis gebruiken om een outside join uit te voeren met twee gegevenssets in 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 ;
Dit specifieke voorbeeld voert een outside join uit met behulp van de volledige join- instructie en retourneert alle rijen in de gegevenssets genaamd data1 en data2 .
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: een Outer Join uitvoeren in SAS
Stel dat we de volgende twee datasets in SAS hebben die informatie bevatten over verschillende basketbalteams:
/*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;
We kunnen de volgende syntaxis gebruiken om een outside join uit te voeren en een nieuwe dataset te maken die elke rij uit beide datasets bevat:
/*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;
De resulterende dataset bevat elke rij van elke individuele dataset.
Houd er rekening mee dat we de COALESCE- functie moesten gebruiken om ervoor te zorgen dat de teamnamen uit beide datasets werden geretourneerd in de resulterende dataset.
Als we deze functie niet zouden gebruiken, zouden alleen de teamkolomwaarden uit de eerste dataset worden weergegeven in de resulterende dataset.
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Hoe u een inner join uitvoert in SAS
Hoe maak je een left join in SAS?
Hoe duplicaten in SAS te verwijderen