Проверьте правильность даты SAS перед использованием MDY ()? - PullRequest
0 голосов
/ 04 марта 2019

Есть ли способ проверить, могут ли три переменные (month, day, year) действительно построить valid SAS date format, прежде чем передать эти переменные MDY() (возможно, кроме проверки всех возможных случаев)?

Прямо сейчас я имею дело с парой тысяч входных переменных и позволил SAS соединить их вместе - есть много переменных даты, которые не могут работать как month=0, day=33, year=10 etc., и я хотел бы их поймать.В противном случае я получу слишком много Notes, как

NOTE: Invalid argument to function MDY(13,12,2014) 

, которые затем в конечном итоге завершатся Warnings, как

WARNING: Limit set by ERRORS= option reached.  Further errors of this type will not be printed.

Я бы очень хотел не допустить получения этих Warnings иЯ подумал, что лучшим способом будет проверить действительность даты - какие-нибудь рекомендации?

1 Ответ

0 голосов
/ 04 марта 2019

Вместо этого используйте INFORMAT, тогда вы можете использовать ??модификатор для подавления ошибок.

month=0;
day=33;
year=10;
date = input(cats(put(year,z4.),put(month,z2.),put(day,z2.)),??yymmdd8.);

SAS документация:?или же ??(Модификаторы формата для отчетов об ошибках)

...