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

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

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