Sas: как преобразовать числовую переменную в дату


Вы можете использовать следующий базовый синтаксис для преобразования числовой переменной в переменную даты в SAS:

 date_var = input ( put (numeric_var, 8 .), MMDDYY10. );
date_var format MMDDYY10. ;

В следующем примере показано, как использовать эту функцию на практике.

Связанный: Как преобразовать числовую переменную в символьную в SAS

Пример. Преобразование числовой переменной в дату в 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;

Мы можем использовать содержимое процедуры для отображения типа данных каждой переменной в наборе данных:

 /*display data type for each variable*/
proc contents data =original_data;

Мы видим, что день и продажи являются числовыми переменными.

Мы можем использовать следующий код для создания нового набора данных, в котором мы преобразуем переменную дня из числовой в дату:

 /*create new dataset where 'day' is date*/
data new_data;
    set original_data;
    date_day = input ( put (day, 8. ), MMDDYY10.) ;
    date_day format MMDDYY10. ;
    drop day;
run ;

/*view new dataset*/
proc print data = new_data; 

Примечание . Мы использовали функцию drop , чтобы удалить исходную переменную дня из набора данных.

Мы видим, что новая созданная нами переменная date_day имеет формат даты.

Обратите внимание, что ММДДГГ10. — это всего лишь один из возможных форматов даты, которые мы могли бы использовать. Полный список форматов дат SAS можно найти здесь .

Дополнительные ресурсы

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

SAS: как преобразовать символьную переменную в дату
SAS: как преобразовать символьную переменную в числовую
SAS: преобразование строк в верхний, нижний регистр и правильный регистр.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *