Sas: como usar except no proc sql


Você pode usar o operador EXCEPT na instrução SQL PROC no SAS para retornar apenas linhas em um conjunto de dados que não estão em outro conjunto de dados.

O exemplo a seguir mostra como usar o operador EXCEPT na prática.

Exemplo: Usando EXCEPT em PROC SQL em SAS

Suponha que temos o seguinte conjunto de dados no SAS que contém informações sobre vários jogadores de basquete:

 /*create first dataset*/
data data1;
    input team $points;
    datalines ;
AT 12
At 14
At 15
At 18
At 20
At 22
;
run ;

/*view first dataset*/
proc print data =data1;

E suponha que temos outro conjunto de dados no SAS que também contém informações sobre vários jogadores de basquete:

 /*create second dataset*/
data data2;
    input team $points;
    datalines ;
AT 12
At 14
B23
B25
B29
B 30
;
run ;

/*view second dataset*/
proc print data =data2; 

Podemos usar o operador EXCEPT na instrução SQL PROC para retornar apenas as linhas do primeiro conjunto de dados que não estão no segundo conjunto de dados.

 /*only return rows from first dataset that are not in second dataset*/
proc sql ;
   title 'data1 EXCEPT data2';
   select * from data1
   except
   select * from data2;
quit ; 

Observe que somente as linhas do primeiro conjunto de dados que não pertencem ao segundo conjunto de dados serão retornadas.

Também podemos usar o operador EXCEPT para retornar apenas linhas do segundo conjunto de dados que não estão no primeiro conjunto de dados:

 /*only return rows from second dataset that are not in first dataset*/
proc sql ;
   title 'data2 EXCEPT data1';
   select * from data2
   except
   select * from data1;
quit ; 

Observe que somente as linhas do segundo conjunto de dados que não pertencem ao primeiro conjunto de dados serão retornadas.

Recursos adicionais

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

SAS: Como usar UNION no PROC SQL
SAS: Como usar Proc Univariate por grupo
SAS: como usar o conteúdo Proc

Add a Comment

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