Een left join uitvoeren in sas (met voorbeeld)
U kunt de volgende basissyntaxis gebruiken om een left join uit te voeren met twee gegevenssets in SAS:
proc sql;
create table final_table as
select * from data1 as x left join data2 as y
on x.ID = y.ID;
quit;
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Gerelateerd: Een Inner Join uitvoeren in SAS
Voorbeeld: Left Join in SAS
Laten we aannemen dat we de volgende twee sets gegevens in SAS hebben:
/*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;
Merk op dat beide datasets een gemeenschappelijke variabele delen: team .
We zullen de volgende syntaxis gebruiken om een left join uit te voeren en een nieuwe dataset te maken die elke rij in data1 bevat en alleen de rijen in data2 die overeenkomen met een teamnaam in 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;
De resulterende dataset bevat alle originele teams uit data1 , maar de enige teams die waarden hebben voor de bouncekolom zijn de teams die ook voorkomen in data2 .
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Gegevens normaliseren in SAS
Hoe tekens in een string in SAS te vervangen
Hoe ontbrekende waarden te vervangen door nul in SAS
Hoe duplicaten in SAS te verwijderen