Вы можете использовать функции DAY , MONTH и YEAR в SAS для извлечения дня, месяца и года в виде числовых значений из переменной даты.
В следующих примерах показано, как использовать эти функции на практике.
Пример 1: Извлечение дня, месяца, года из даты в SAS
Предположим, у нас есть следующий набор данных в SAS, который показывает дату рождения семи человек:
/\*create dataset\*/
data original_data;
format birth_date date9. ;
input birth_date : date9. ;
datalines ;
01JAN2021
22FEB2022
14MAR2022
29MAY2022
14OCT2023
01NOV2024
26DEC2025
;
run ;
/\*view dataset\*/
proc print data =original_data;

Мы можем использовать следующий код для создания трех новых переменных, которые показывают день, месяц и год даты рождения для каждого человека:
/\*create new dataset\*/
data new_data;
set original_data;
day = DAY (birth_date);
month = MONTH (birth_date);
year = YEAR (birth_date);
run ;
/\*view new dataset\*/
proc print data =new_data;

Три новые переменные показывают день, месяц и год переменной Birthday_date соответственно.
Пример 2. Извлечение только месяца и года из даты в SAS
В следующем коде показано, как создать новую переменную, которая отображает только месяц и год переменной даты в SAS:
/\*create new dataset\*/
data new_data;
set original_data;
month_year = birth_date;
format month_year mmyyn6. ;
run ;
/\*view new dataset\*/
proc print data =new_data;

Обратите внимание, что новая переменная month_year содержит только месяц и год переменной Birthday_date .
Если вы хотите, чтобы месяц отображался после года, просто используйте формат ггммн6. вместо:
/\*create new dataset\*/
data new_data;
set original_data;
month_year = birth_date;
format month_year yymmn6. ;
run ;
/\*view new dataset\*/
proc print data =new_data;

Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как использовать сводку процедур в SAS
Как переименовать переменные в SAS
Как создать новые переменные в SAS
Как удалить дубликаты в SAS