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


Você pode usar a seguinte sintaxe básica para realizar uma junção externa com dois conjuntos de dados no 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 ;

Este exemplo específico executa uma junção externa usando a instrução full join e retorna todas as linhas nos conjuntos de dados chamados data1 e data2 .

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

Exemplo: realizando uma junção externa no SAS

Suponha que temos os dois conjuntos de dados a seguir no SAS que contêm informações sobre vários times de basquete:

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

Podemos usar a seguinte sintaxe para realizar uma junção externa e criar um novo conjunto de dados contendo cada linha de ambos os conjuntos de dados:

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

O conjunto de dados resultante contém todas as linhas de cada conjunto de dados individual.

Observe que tivemos que usar a função COALESCE para garantir que os nomes das equipes de ambos os conjuntos de dados fossem retornados no conjunto de dados resultante.

Se não utilizássemos esta função, apenas os valores da coluna da equipe do primeiro conjunto de dados seriam exibidos no conjunto de dados resultante.

Recursos adicionais

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

Como realizar uma junção interna no SAS
Como fazer um left join 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 *