Comment effectuer une jointure à gauche dans SAS (avec exemple)
Vous pouvez utiliser la syntaxe de base suivante pour effectuer une jointure gauche avec deux ensembles de données dans 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’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Connexe : Comment effectuer une jointure interne dans SAS
Exemple : jointure à gauche dans SAS
Supposons que nous ayons les deux ensembles de données suivants dans 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;
Notez que les deux ensembles de données partagent une variable en commun : team .
Nous utiliserons la syntaxe suivante pour effectuer une jointure gauche et créer un nouvel ensemble de données contenant chaque ligne de data1 et uniquement les lignes de data2 qui correspondent à un nom d’équipe dans 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;
L’ensemble de données résultant contient toutes les équipes originales de data1 , mais les seules équipes qui ont des valeurs pour la colonne des rebonds sont celles qui apparaissent également dans data2 .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :
Comment normaliser les données dans SAS
Comment remplacer des caractères dans une chaîne dans SAS
Comment remplacer les valeurs manquantes par zéro dans SAS
Comment supprimer les doublons dans SAS