Sas: como mesclar se a não for b


Você pode usar a seguinte sintaxe básica para mesclar dois conjuntos de dados no SAS e retornar apenas as linhas para as quais existe um valor no primeiro conjunto de dados e não no segundo:

 data final_data;
  merge data1(in=a) data2(in=b);
  byID ;
  if a and not b;
run ;

Este exemplo específico mescla conjuntos de dados chamados data1 e data2 e retorna apenas linhas onde existe um valor em data1 e não em data2 .

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

Exemplo: mesclar dois conjuntos de dados no SAS usando If A Not B

Suponha que temos os dois conjuntos de dados a seguir no SAS que contêm informações sobre os vendedores de uma empresa:

 /*create first dataset*/
data data1;
    inputIDGender $;
    datalines ;
1 Male
2 Male
3 Female
4 Male
5 Female
;
run ;

title "data1";
proc print data = data1;

/*create second dataset*/
data data2;
    input IDSales;
    datalines ;
1 22
2 15
4 29
6 31
7 20
8 13
;
run ;

title "data2";
proc print data = data2; 

Se usarmos a seguinte instrução de mesclagem para mesclar os dois conjuntos de dados com base no valor da coluna ID , todas as linhas serão retornadas de ambos os conjuntos de dados:

 /*perform merge*/
data final_data;
  merge data1 data2;
  byID ;
run ;

/*view results*/
title "final_data";
proc print data =final_data;

No entanto, podemos usar instruções IN para retornar apenas linhas onde existe um valor no primeiro conjunto de dados e não no segundo conjunto de dados:

 data final_data;
  merge data1(in=a) data2(in=b);
  byID ;
  if a and not b;
run ;

/*view results*/
title "final_data";
proc print data =final_data;

Observe que somente as linhas para as quais existe um valor no primeiro conjunto de dados e não no segundo conjunto de dados são retornadas.

Observação : você pode encontrar a documentação completa da instrução de mesclagem SAS aqui .

Recursos adicionais

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

Como fazer um left join no SAS
Como realizar uma junção interna no SAS
Como realizar uma junção externa no SAS

Add a Comment

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