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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *