Вы можете использовать функцию input() в SAS для преобразования символьной переменной в формат переменной даты.
Эта функция использует следующий базовый синтаксис:
date_var = input (character_var, MMDDYY10. );
format date_var MMDDYY10. ;
В следующем примере показано, как использовать эту функцию на практике.
Пример: преобразование символьной переменной в дату в SAS
Предположим, у нас есть следующий набор данных в SAS, который показывает общий объем продаж, совершенных каким-либо магазином за шесть разных дней:
/\*create dataset\*/
data original_data;
input day $ sales;
datalines ;
01012022 15
01022022 19
01052022 22
01142022 11
01152022 26
01212022 28
;
run ;
/\*view dataset\*/
proc print data =original_data;
Мы видим, что день — это символьная переменная, но она должна быть представлена в формате даты.
Мы можем использовать следующий код для создания нового набора данных, в котором мы преобразуем переменную дня из символьного формата в формат даты:
/\*create new dataset where 'day' is in date format\*/
data new_data;
set original_data;
new_day = input (day, MMDDYY10. );
format new_day MMDDYY10. ;
drop day;
run ;
/\*view new dataset\*/
proc print data =new_data;
Примечание.Мы использовали функцию удаления , чтобы удалить исходную переменную дня из набора данных.
Мы видим, что созданная нами новая переменная new_day имеет формат даты.
Обратите внимание, что ММДДГГ10. — это только один из возможных форматов даты, который мы могли бы использовать. Полный список форматов даты SAS можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
SAS: как преобразовать символьную переменную в числовую
SAS: как преобразовать числовую переменную в символ
SAS: как заменить пропущенные значения нулями