Як використовувати функцію indexc у sas
Ви можете використовувати функцію INDEXC у SAS, щоб повернути позицію першого входження окремого символу в рядку.
Ця функція використовує такий базовий синтаксис:
INDEXC(джерело, витяг)
золото:
- джерело : канал для аналізу
- екстракт : Рядок символів для пошуку в джерелі
У наступному прикладі показано, як використовувати цю функцію на практиці.
Приклад: використання функції INDEXC у 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;
Ми можемо використовувати функцію INDEXC , щоб знайти позицію першого входження символів x , y або 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;
Новий стовпець під назвою first_xyz відображає позицію першого входження символів x , y або z у стовпці імені .
Якщо в стовпці імені немає жодного з цих трьох символів, функція INDEXC просто повертає значення 0 .
Наприклад, з результату ми можемо побачити:
Позиція першого входження x, y або z у першому рядку – це позиція 4 . Ми бачимо, що символ у позиції 4 у першому рядку є y .
Позиція першого входження x, y або z у другому рядку дорівнює 0 , оскільки жодна з цих трьох літер не існує в імені другого рядка.
І так далі.
Різниця між функціями INDEX та INDEXC
Функція INDEX у SAS повертає позицію першого входження певного підрядка в інший рядок.
Наступний приклад ілюструє різницю між функціями INDEX та 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;
Стовпець index_smith відображає позицію першого входження підрядка «Smith» у стовпці імені .
Стовпець indexc_smith відображає позицію першого входження літер s , m , i , t або h у стовпці імені .
Наприклад, з результату ми можемо побачити:
Підрядок «Сміт» ніколи не з’являється в першому імені, тому index_smith повертає значення 0 .
Буква i з’являється на сьомій позиції імені, тому indexc_smith повертає значення 7 .
І так далі.
Додаткові ресурси
У наступних посібниках пояснюється, як використовувати інші поширені функції в SAS:
Як використовувати функцію SUBSTR у SAS
Як використовувати функцію СТИСНУТИ в SAS
Як використовувати функцію FIND у SAS
Як використовувати функцію COALESCE у SAS