Sas: як змінити довжину символьних змінних
Найпростішим способом змінити довжину символьних змінних у SAS є використання операторів ALTER TABLE і MODIFY у PROC SQL .
Для цього ви можете використовувати такий базовий синтаксис:
proc sql ;
alter table my_data
modify team char( 4 );
quit ;
Цей конкретний приклад змінює довжину символьної змінної під назвою team у наборі даних під назвою my_data на довжину 4 .
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: змініть довжину змінної символу в SAS
Припустімо, що в SAS є такий набір даних, який містить інформацію про різні баскетбольні команди:
/*create dataset*/
data my_data;
input team $points;
datalines ;
Cavs 12
Cavs 24
Heat 15
Cavs 26
Heat 14
Mavs 36
Mavs 19
Nets 20
Nets 31
;
run ;
/*view dataset*/
proc print data =my_data;
Ми можемо використовувати PROC CONTENTS для відображення довжини кожної змінної в наборі даних:
/*view length of each variable in dataset*/
proc contents data =my_data;
Остання таблиця результату показує довжину кожної змінної:
З цієї таблиці ми бачимо:
- Змінна Points — це числова змінна довжиною 8.
- Командна змінна є символьною змінною довжиною 8.
Скажімо, ми хочемо змінити змінну team так, щоб вона мала довжину 4.
Для цього ми можемо використати такий синтаксис:
/*change length of team variable to 4*/
proc sql ;
alter table my_data
modify team char( 4 );
quit ;
Ми можемо використовувати їх, знову використовуючи PROC CONTENTS для відображення довжини кожної змінної в наборі даних:
/*view updated length of each variable in dataset*/
proc contents data =my_data;
Остання таблиця результату показує довжину кожної змінної:
Ми бачимо, що змінна team тепер має довжину 4.
Слід зазначити, що жодне зі значень у стовпці команди не було скорочено, оскільки найдовша назва команди мала довжину 4.
Однак, якщо ви змінили довжину змінної team на 3, наприклад, останній символ деяких імен команд було б скорочено.
За допомогою цього методу попередження не з’являтиметься у разі скорочення. Тому перед використанням цього методу переконайтеся, що ви знаєте максимальну довжину рядків у вашому стовпці символів.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:
Як отримати числа з рядка в SAS
Як використовувати функцію SUBSTR у SAS
Як видалити спеціальні символи з рядків у SAS