1
我寫了一個宏來檢查無效日期並將其設置爲'11111111',但出現了意外注意:函數INPUT的無效參數。注意的原因是,源數據具有日期「0212-04-26」,該日期超出從A.D. 1582到A.D. 19,900的SAS日期。所以現在我正在尋找沒有任何消息的無效日期。使用SAS宏檢查有效日期
我的代碼:
%macro chkdate(datefld=, num_date=) ;
/* invalid date gets set to '11111111' */
if &datefld ne '0001-01-01' then do ;
t_date = input(compress(&datefld, '-'), yymmdd8.) ;
if t_date eq . then do ;
%errors(key_desc=Invalid Date, fname=&datefld,)
&datefld = '11111111' ;
end;
end;
%mend chkdate ;
感謝
'num_date ='參數沒有在宏中的任何地方使用... –
@DominicComtois對不起,我已經修改宏,然後發佈它在這裏。由於問題主要在t_date = input(compress(&datefld,' - '),yymmdd8。);。 – Bharath