Как было указано выше, простой ответ:
date = input(monyy,date9.);
с добавлением:
put date=yymmdd.;
Причина почему это работает, и что вы сделали не так, из-за общего непонимания в SAS. DATE9. является ИНФОРМАЦИОННЫМ. В инструкции INPUT он предоставляет интерпретатору SAS набор команд перевода, которые он может отправить компилятору, чтобы превратить ваш текст в нужные числа, который будет выглядеть как дата, когда будет применен правый FORMAT. FORMAT - это просто видимые представления чисел (или символов). . Таким образом, с помощью ГГММДДА, вы перепутали входную функцию, передав его формат, вместо Informat, и, вероятно, получили полезную ошибку, которая сказала:
Invalid argument to INPUT function at line... etc...
Который сказал вам абсолютно ничего о том, что делать дальше.
Таким образом, чтобы представить дату вашего персонажа как YYMMDD. В SAS вам нужно:
- изменения в информа -
date = input(monyy,date9.);
- применить формат -
put date=YYMMDD10.;
Если вы не можете комментировать не использовать ответ, чтобы сделать это. Получите достаточную репутацию, а затем прокомментируйте. –
@ JonathanDrapeau С другой стороны, это, вероятно, случай, когда он честно является скорее ответом, чем комментарием. –