Преобразовать число в формат даты в SAS - PullRequest
0 голосов
/ 02 октября 2018

Что у меня есть

У меня есть столбец / переменная с именем Release_Date с длина 8, формат 11. и informat 11.

Наблюдение в этом столбце в форме ГГГГММДД SAS фактически читает их как чистое число

Что яхочу

Я хочу преобразовать эти наблюдения в формат ДД / ММ / ГГГГ с форматом и информацией в формате DDMMYY10.

Пример

Release_Date 20180612 , тогда я хочу 12/06/2018

Любая помощь в этом отношении будет оценена

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Следующее решение создает простой набор данных, а затем обрабатывает этот набор данных для добавления преобразованной даты:

data myDates;
input intDate;
datalines;
20110101
20120202
;run;

data myDates;
set myDates;
format cvtDate mmddyy10.;    * create new variable by specifying the format;
cvtDate = input(put(intDate,8.),yymmdd8.);      * assign new variable value;
run;

Результаты должны быть:

intDate   cvtDate
--------  ----------
20110101  01/01/2011
20120202  02/02/2012
0 голосов
/ 02 октября 2018
  • Преобразовать в символ
  • Считать обратно как дату
  • убедиться, что переменная отличается, поскольку SAS не позволяет изменять тип переменной

    releaseDate_NUM = input(put(Release_Date, 8. -l), yymmdd10.);
    
...