Een inner join uitvoeren in sas (met voorbeeld)


U kunt de volgende basissyntaxis gebruiken om een inner join uit te voeren met twee gegevenssets in SAS:

 proc sql ;
    create table final_table as
    select * from data1 as x 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 left join uitvoeren in SAS

Voorbeeld: Inner 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
Nets 90
Hawks 91
;
run ;

data data2;
    input team $rebounds;
    datalines ;
Mavs 21
Spurs 18
Warriors 27
Hawks 29
Knicks 40
Raptors 30
;
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 inner join uit te voeren en een nieuwe dataset te maken die alleen de rijen bevat waarin de teamvariabele in beide datasets voorkomt:

 /*perform inner join*/
proc sql ;
	create table final_table as
	select * from data1 as x join data2 as y
	on x.team = y.team;
quit ;

/*view results of inner join*/
proc print data =final_table; 

De resulterende gegevensset bevat alleen de rijen waarin de teamvariabele in beide gegevenssets voorkomt.

Als u naar de vorige twee datasets verwijst, zult u merken dat er slechts vier teams in beide datasets voorkomen: Mavs, Spurs, Warriors en Hawks.

Omdat we ervoor hebben gekozen om de twee datasets op de teamvariabele samen te voegen, zijn dit de vier teams die ook in de uiteindelijke dataset voorkomen.

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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert