Як використовувати функцію index у sas (з прикладами)


Ви можете використовувати функцію INDEX у SAS, щоб повернути позицію першого входження рядка в інший рядок.

Ця функція використовує такий базовий синтаксис:

INDEX(джерело, витяг)

золото:

  • джерело : канал для аналізу
  • екстракт : Рядок символів для пошуку в джерелі

У наступному прикладі показано, як використовувати цю функцію на практиці.

Приклад: використання функції INDEX у SAS

Припустімо, у SAS є такий набір даних, який містить стовпець імен:

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

Ми можемо використовувати функцію INDEX , щоб знайти позицію першого входження рядка “Smith” у кожному рядку:

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

Новий стовпець під назвою first_smith відображає позицію першого входження рядка «Smith» у стовпці імені .

Якщо «Сміт» взагалі не знайдено, функція INDEX просто повертає значення 0 .

Важливо зауважити, що функція INDEX чутлива до регістру, тому, якщо замість цього ви шукаєте “smith”, функція INDEX поверне 0 для кожного рядка:

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

Щоб здійснити пошук без урахування регістру, ви можете використати функцію lowcase() , щоб спочатку перетворити кожен рядок на нижній регістр, а потім шукати “smith” наступним чином:

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

Спочатку перетворивши кожен рядок на нижній регістр, ми можемо використовувати функцію INDEX для виконання пошуку без урахування регістру.

Додаткові ресурси

У наступних посібниках пояснюється, як використовувати інші поширені функції в SAS:

Як використовувати функцію SUBSTR у SAS
Як використовувати функцію СТИСНУТИ в SAS
Як використовувати функцію FIND у SAS
Як використовувати функцію COALESCE у SAS

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *