Come eseguire un left join in sas (con esempio)
È possibile utilizzare la seguente sintassi di base per eseguire un left join con due set di dati 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;
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Correlato: Come eseguire un inner join in SAS
Esempio: Left 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
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;
Tieni presente che entrambi i set di dati condividono una variabile in comune: team .
Utilizzeremo la seguente sintassi per eseguire un left join e creare un nuovo set di dati contenente ogni riga in data1 e solo le righe in data2 che corrispondono al nome del team 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;
Il set di dati risultante contiene tutte le squadre originali di data1 , ma le uniche squadre che hanno valori per la colonna dei rimbalzi sono quelle che compaiono anche in data2 .
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