Como realizar uma junção à esquerda no sas (com exemplo)


Você pode usar a seguinte sintaxe básica para realizar uma junção à esquerda com dois conjuntos de dados no SAS:

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

O exemplo a seguir mostra como usar essa sintaxe na prática.

Relacionado: Como realizar uma junção interna no SAS

Exemplo: junção esquerda no SAS

Vamos supor que temos os dois conjuntos de dados a seguir no 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; 

Observe que ambos os conjuntos de dados compartilham uma variável em comum: team .

Usaremos a seguinte sintaxe para realizar uma junção à esquerda e criar um novo conjunto de dados contendo cada linha em data1 e apenas as linhas em data2 que correspondem a um nome de equipe em 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; 

O conjunto de dados resultante contém todas as equipes originais de data1 , mas as únicas equipes que possuem valores para a coluna de rejeições são aquelas que também aparecem em data2 .

Recursos adicionais

Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:

Como normalizar dados no SAS
Como substituir caracteres em uma string no SAS
Como substituir valores ausentes por zero no SAS
Como remover duplicatas no SAS

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *