在使用MDY()之前检查SAS日期是否有效?

时间:2019-03-04 16:50:30

标签: sas

在将三个变量(month, day, year)移交给valid SAS date format之前,是否可以检查三个变量MDY()是否可以真正构建一个month=0, day=33, year=10 etc.(也许不检查所有可能的情况)?

现在,我正在处理数千个输入变量,并让SAS将它们放在一起-有很多日期变量无法像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}},我认为最好的方法是实际检查日期的有效性-有什么建议吗?

1 个答案:

答案 0 :(得分:2)

改为使用INFORMAT,然后可以使用??。修饰符以抑制错误。

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

SAS documentation: ? or ?? (Format Modifiers for Error Reporting)

相关问题