Вот два способа преобразовать ее в дату SAS.Дата SAS должна содержать компонент «день», даже если он не показан.Я установил его на 1 здесь.
INPUT () преобразует символ в число, чтобы избежать примечаний по преобразованию в журнале. SUBSTR () получает месяц / год из строки символов.
date = mdy(input(substr(chardate, 2, 2), 8.), 1, input(substr(chardate, 4, 4), 8.));
Или другой подход заключается в прямом использовании INPUT,Сначала удалите точку с помощью функции COMPRESS (), затем объедините 01 в начало даты и прочитайте ее как форматированную дату в формате DDMMYY.
date2 = input(compress('01'||chardate, "."), ddmmyy10.);
Полный код здесь:
data testdate;
chardate = '06.2010';
date = mdy(input(substr(chardate, 2, 2), 8.), 1, input(substr(chardate, 4, 4), 8.));
date2 = input(compress('01'||chardate, "."), ddmmyy10.);
format date: mmyy10.;
run;
proc print ;
run;