Мне интересно, почему, если SAS читает через оператор INPUT на шаге данных только переменную (и) даты, представляется необходимым написать двоеточие перед каждым именем informat, тогда как, если список переменных начинается с переменная другого типа (например, символьная переменная), двоеточия перед информатами не нужны. Для иллюстрации моего вопроса две небольшие программы (см. Ниже). Первый генерирует недопустимые данные для даты (пока я не пишу двоеточие до mmddyy10., Чтобы получить INPUT date: mmddyy10.; ), в то время как второй нет. Странно, не правда ли? Возможно, этому есть какое-то объяснение, но, несмотря на поиск в документации по поддержке SAS и на форумах, я не могу понять, что это может быть. Любая помощь приветствуется! В любом случае, если бы я раньше понял, о чем идет речь, я сэкономил пару часов, потраченных на решение этого вопроса.
* program #1;
DATA _NULL_;
INPUT date mmddyy10.;
DATALINES;
09/14/2012
09/15/2012
;
RUN;
PROC PRINT; RUN;
* program #2;
DATA _NULL_;
INPUT id $ date mmddyy10.;
DATALINES;
A 09/14/2012
B 09/15/2012
;
RUN;