Sas: como usar contains no proc sql


Você pode usar o operador CONTAINS na instrução SQL PROC no SAS para retornar apenas linhas nas quais uma variável em um conjunto de dados contém um padrão de string.

Os exemplos a seguir mostram como usar o operador CONTAINS na prática com o seguinte conjunto de dados no SAS que contém informações sobre vários jogadores de basquete:

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32
Mavs 35
Celtics 36
Celtics 40
;
run ;

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

Exemplo 1: selecione linhas nas quais a variável contém um padrão

Podemos usar o operador CONTAINS no PROC SQL para selecionar apenas as linhas onde o time contém o padrão “avs” em algum lugar do nome:

 /*select all rows where team contains 'avs'*/ 
proc sql ;
   select *
   from my_data
   where team contains 'avs';
quit ; 

Observe que apenas as linhas onde o time contém “avs” em algum lugar do nome são retornadas.

Exemplo 2: Selecione linhas nas quais a variável contém um dos vários padrões

Podemos usar o operador CONTAINS no PROC SQL para selecionar apenas as linhas onde a equipe contém o padrão “avs” ou o padrão “ics” em algum lugar do nome:

 /*select all rows where team contains 'avs' or 'ics'*/ 
proc sql ;
   select *
   from my_data
   where team contains 'avs' or team contains 'ics';
quit ; 

Somente as linhas onde a equipe contém “avs” ou “ics” em algum lugar do nome são retornadas.

Exemplo 3: selecione linhas nas quais a variável não contém um padrão

O oposto do operador CONTAINS em PROC SQL é NOT CONTAINS , que seleciona linhas nas quais certas variáveis em um conjunto de dados não contêm um determinado padrão de string.

O código a seguir mostra como usar o operador NOT CONTAINS para selecionar todas as linhas cujo nome de equipe não contém “avs”:

 /*select all rows where team does not contain 'avs'*/
proc sql ;
   select *
   from my_data
   where team not contains 'avs';
quit ; 

Observe que apenas as linhas onde o time não contém “avs” em algum lugar do nome sã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 EXCEPT no PROC SQL
SAS: Como usar o operador IN no PROC SQL
SAS: Como usar o operador WHERE no PROC SQL

Add a Comment

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