Come eseguire un outer join in sas (con esempio)


È possibile utilizzare la seguente sintassi di base per eseguire un join esterno con due set di dati 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 ;

Questo particolare esempio esegue un’unione esterna utilizzando l’istruzione join completa e restituisce tutte le righe nei set di dati chiamati data1 e data2 .

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

Esempio: esecuzione di un Outer Join in SAS

Supponiamo di avere i seguenti due set di dati in SAS che contengono informazioni su varie squadre di basket:

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

Possiamo utilizzare la seguente sintassi per eseguire un outside join e creare un nuovo set di dati contenente ogni riga di entrambi i set di dati:

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

Il set di dati risultante contiene ogni riga di ogni singolo set di dati.

Tieni presente che abbiamo dovuto utilizzare la funzione COALESCE per garantire che i nomi dei team di entrambi i set di dati fossero restituiti nel set di dati risultante.

Se non utilizzassimo questa funzione, nel set di dati risultante verrebbero visualizzati solo i valori delle colonne della squadra del primo set di dati.

Risorse addizionali

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

Come eseguire un inner join in SAS
Come eseguire un join sinistro in SAS
Come rimuovere i duplicati in SAS

Aggiungi un commento

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