Como usar a função indexc no sas
Você pode usar a função INDEXC no SAS para retornar a posição da primeira ocorrência de um caractere individual em uma string.
Esta função usa a seguinte sintaxe básica:
INDEXC(fonte, extrato)
Ouro:
- fonte : O canal a ser analisado
- extract : a sequência de caracteres a ser pesquisada na fonte
O exemplo a seguir mostra como usar esta função na prática.
Exemplo: usando a função INDEXC no SAS
Digamos que temos o seguinte conjunto de dados no SAS que contém uma coluna de nomes:
/*create dataset*/
data original_data;
input name $25.;
datalines ;
Andy Lincoln Bernard
Michael Smith
Chad Simpson Arnolds
Derrick Smith Henrys
Eric Millerton Smith
Frank Giovanni Goode
;
run ;
/*view dataset*/
proc print data = original_data;
Podemos usar a função INDEXC para encontrar a posição da primeira ocorrência dos caracteres x , y ou z :
/*find position of first occurrence of either x, y or z in name*/
data new_data;
set original_data;
first_xyz = indexc (name, 'xyz');
run ;
/*view results*/
proc print data = new_data;
A nova coluna chamada first_xyz exibe a posição da primeira ocorrência dos caracteres x , y ou z na coluna de nome .
Se nenhum desses três caracteres estiver presente na coluna do nome , a função INDEXC simplesmente retornará um valor 0 .
Por exemplo, a partir do resultado podemos ver:
A posição da primeira ocorrência de x, y ou z na primeira linha é a posição 4 . Podemos ver que o caractere na posição 4 da primeira linha é um y .
A posição da primeira ocorrência de x, y ou z na segunda linha é 0 porque nenhuma dessas três letras existe no nome da segunda linha.
E assim por diante.
A diferença entre as funções INDEX e INDEXC
A função INDEX no SAS retorna a posição da primeira ocorrência de uma substring específica em outra string.
O exemplo a seguir ilustra a diferença entre as funções INDEX e INDEXC :
/*create new dataset*/
data new_data;
set original_data;
index_smith = index (name, 'Smith');
indexc_smith = indexc (name, 'Smith');
run ;
/*view new dataset*/
proc print data =new_data;
A coluna index_smith exibe a posição da primeira ocorrência da substring ‘Smith’ na coluna name .
A coluna indexc_smith exibe a posição da primeira ocorrência das letras s , m , i , t ou h na coluna name .
Por exemplo, a partir do resultado podemos ver:
A substring ‘Smith’ nunca aparece no primeiro nome, então index_smith retorna um valor de 0 .
A letra i aparece na 7ª posição do primeiro nome, então indexc_smith retorna um valor de 7 .
E assim por diante.
Recursos adicionais
Os tutoriais a seguir explicam como usar outras funções comuns no SAS:
Como usar a função SUBSTR no SAS
Como usar a função COMPRESS no SAS
Como usar a função FIND no SAS
Como usar a função COALESCE no SAS