Come utilizzare la funzione indice in sas (con esempi)
È possibile utilizzare la funzione INDICE in SAS per restituire la posizione della prima occorrenza di una stringa in un’altra stringa.
Questa funzione utilizza la seguente sintassi di base:
INDICE(fonte, estratto)
Oro:
- source : il canale da analizzare
- extract : la stringa di caratteri da cercare nell’origine
L’esempio seguente mostra come utilizzare questa funzione nella pratica.
Esempio: utilizzo della funzione INDICE in SAS
Supponiamo di avere il seguente set di dati in SAS che contiene una colonna di nomi:
/*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;
Possiamo utilizzare la funzione INDICE per trovare la posizione della prima occorrenza della stringa “Smith” in ogni riga:
/*find position of first occurrence of 'Smith' in name*/
data new_data;
set original_data;
first_smith = index (name, ' Smith ');
run ;
/*view results*/
proc print data = new_data;
La nuova colonna chiamata first_smith mostra la posizione della prima occorrenza della stringa “Smith” nella colonna del nome .
Se “Smith” non viene trovato, la funzione INDEX restituisce semplicemente il valore 0 .
È importante notare che la funzione INDICE distingue tra maiuscole e minuscole, quindi se cerchi invece “smith”, la funzione INDICE restituirà 0 per ogni stringa:
/*find position of first occurrence of 'smith' in name*/
data new_data;
set original_data;
first_smith = index (name, ' smith ');
run ;
/*view results*/
proc print data = new_data;
Per eseguire una ricerca senza distinzione tra maiuscole e minuscole, puoi utilizzare la funzione lowcase() per convertire prima ogni stringa in minuscolo, quindi cercare “smith” come segue:
/*find position of first occurrence of 'smith' in name*/
data new_data;
set original_data;
first_smith = index ( lowcase (name), ' smith ');
run ;
/*view results*/
proc print data = new_data;
Convertendo prima ogni stringa in minuscolo, possiamo utilizzare la funzione INDICE per eseguire una ricerca senza distinzione tra maiuscole e minuscole.
Risorse addizionali
I seguenti tutorial spiegano come utilizzare altre funzioni comuni in SAS:
Come utilizzare la funzione SUBSTR in SAS
Come utilizzare la funzione COMPRIMERE in SAS
Come utilizzare la funzione TROVA in SAS
Come utilizzare la funzione COALESCE in SAS