Sas: como usar o operador where no proc sql


Você pode usar o operador WHERE na instrução PROC SQL no SAS para retornar apenas linhas onde determinadas condições são atendidas.

Os exemplos a seguir mostram como usar o operador WHERE nos seguintes cenários:

  • Selecione as linhas onde uma condição é atendida.
  • Selecione linhas onde uma das diversas condições for atendida.
  • Selecione linhas onde diversas condições são atendidas.

Os exemplos a seguir mostram como usar o operador WHERE em cada cenário com o seguinte conjunto de dados no SAS:

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
AT 12
At 14
At 15
At 18
B 31
B 32
C 35
C 36
C40
D 28
E20
E 21
;
run ;

/*view dataset*/
proc print data =my_data; 

Exemplo 1: selecione linhas onde uma condição é atendida

O código a seguir mostra como usar o operador WHERE na instrução SQL PROC para selecionar todas as linhas no conjunto de dados em que equipe é igual a A:

 /*select all rows where team is equal to A*/
proc sql ;
   select *
   from my_data
   where team = 'A';
quit ;

As únicas linhas retornadas são aquelas onde o time é igual a A.

Exemplo 2: Selecione linhas onde uma das diversas condições for atendida

O código a seguir mostra como usar o operador WHERE na instrução SQL PROC para selecionar todas as linhas no conjunto de dados onde a equipe é igual a A ou os pontos são maiores que 30:

 /*select all rows where team is equal to A or points is greater than 30*/
proc sql ;
   select *
   from my_data
   where team = 'A' or points > 30 ;
quit ;

As únicas linhas retornadas são aquelas onde o time é igual a A ou os pontos são maiores que 30:

Exemplo 3: selecione linhas onde múltiplas condições são atendidas

O código a seguir mostra como usar o operador WHERE na instrução SQL PROC para selecionar todas as linhas no conjunto de dados onde a equipe é igual a A e os pontos são maiores que 13:

 /*select all rows where team is equal to A and points is greater than 13*/
proc sql ;
   select *
   from my_data
   where team = 'A' and points > 13 ;
quit ;

As únicas linhas retornadas são aquelas onde o time é igual a A e os pontos são maiores que 13:

Recursos adicionais

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

SAS: Como usar o operador IN no PROC SQL
SAS: Como usar UNION no PROC SQL
SAS: Como usar EXCEPT no PROC SQL

Add a Comment

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