Come eseguire un inner join in sas (con esempio)


È possibile utilizzare la seguente sintassi di base per eseguire un inner join con due set di dati in SAS:

 proc sql ;
    create table final_table as
    select * from data1 as x join data2 as y
    on x.ID = y.ID;
quit ;

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Correlato: Come eseguire un join sinistro in SAS

Esempio: inner join in SAS

Supponiamo di avere i seguenti due set di dati in SAS:

 /*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; 

Tieni presente che entrambi i set di dati condividono una variabile in comune: team .

Utilizzeremo la seguente sintassi per eseguire un inner join e creare un nuovo set di dati contenente solo le righe in cui la variabile team appare in entrambi i set di dati:

 /*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; 

Il set di dati risultante contiene solo le righe in cui la variabile del team appare in entrambi i set di dati.

Se fai riferimento ai due set di dati precedenti, noterai che ci sono solo quattro squadre che compaiono in entrambi i set di dati: Mavs, Spurs, Warriors e Hawks.

Poiché abbiamo scelto di unire i due set di dati sulla variabile squadra , queste sono le quattro squadre che compaiono anche nel set di dati finale.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:

Come normalizzare i dati in SAS
Come sostituire i caratteri in una stringa in SAS
Come sostituire i valori mancanti con zero in SAS
Come rimuovere i duplicati in SAS

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *