Jak wykonać lewe połączenie w sas (z przykładem)


Aby wykonać lewe złączenie dwóch zestawów danych w SAS-ie, możesz użyć następującej podstawowej składni:

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

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Powiązane: Jak wykonać połączenie wewnętrzne w SAS-ie

Przykład: Lewe połączenie w SAS-ie

Załóżmy, że mamy w SAS-ie następujące dwa zestawy danych:

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

Należy zauważyć, że oba zbiory danych mają wspólną zmienną: team .

Użyjemy następującej składni, aby wykonać lewe złączenie i utworzyć nowy zbiór danych zawierający każdy wiersz w danych1 i tylko te wiersze w danych2 , które pasują do nazwy zespołu w danych1 :

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

Wynikowy zbiór danych zawiera wszystkie oryginalne zespoły z data1 , ale jedynymi zespołami, które mają wartości w kolumnie odrzuceń , są te, które również pojawiają się w data2 .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

Jak normalizować dane w SAS-ie
Jak zamienić znaki w ciągu w SAS-ie
Jak zastąpić brakujące wartości zerem w SAS-ie
Jak usunąć duplikaty w SAS-ie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *