Jak korzystać z funkcji index w sas-ie (z przykładami)


Możesz użyć funkcji INDEX w SAS-ie, aby zwrócić pozycję pierwszego wystąpienia ciągu w innym ciągu.

Ta funkcja wykorzystuje następującą podstawową składnię:

INDEKS(źródło, wyciąg)

Złoto:

  • źródło : kanał do analizy
  • ekstrakt : Ciąg znaków do wyszukania w źródle

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Przykład: użycie funkcji INDEKS w SAS-ie

Załóżmy, że mamy następujący zestaw danych w SAS-ie, który zawiera kolumnę nazw:

 /*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; 

Możemy użyć funkcji INDEX , aby znaleźć pozycję pierwszego wystąpienia ciągu „Smith” w każdej linii:

 /*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;

Nowa kolumna o nazwie pierwszy_kowal wyświetla pozycję pierwszego wystąpienia ciągu „Smith” w kolumnie nazwa .

Jeśli w ogóle nie zostanie znaleziona wartość „Smith”, funkcja INDEX po prostu zwraca wartość 0 .

Należy pamiętać, że w funkcji INDEKS rozróżniana jest wielkość liter, więc jeśli zamiast tego wyszukasz „smith”, funkcja INDEX zwróci 0 dla każdego ciągu:

 /*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; 

Aby przeprowadzić wyszukiwanie bez uwzględniania wielkości liter, możesz użyć funkcji lowcase() , aby najpierw przekonwertować każdy ciąg na małe litery, a następnie wyszukać „smith” w następujący sposób:

 /*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; 

Konwertując najpierw każdy ciąg na małe litery, możemy użyć funkcji INDEX , aby przeprowadzić wyszukiwanie bez uwzględniania wielkości liter.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak używać innych popularnych funkcji w SAS-ie:

Jak korzystać z funkcji SUBSTR w SAS-ie
Jak korzystać z funkcji COMPRESS w SAS-ie
Jak korzystać z funkcji ZNAJDŹ w SAS-ie
Jak korzystać z funkcji COALESCE w SAS-ie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *