В сообщении об ошибке указано, что не так.Вы пытаетесь присоединить числовой формат к символьной переменной.Таким образом, SAS пытается помочь и предполагает, что вы просто забыли поставить префикс $
в имени формата.Но тогда он не может найти символьный формат с именем $DATETIME
.Отсюда и сообщение об ошибке.
Похоже, переменная SystemPeakDate
, которую вы получаете из входного набора данных, является символьной переменной?
Кроме того, почему вы выполняете этот двухшаговый процесс?
SystemPeakDate2=&sp_datetime;
SystemPeakDate=input(SystemPeakDate2,best32.);
Вы создаете SystemPeakDate2 как числовую переменную для начала.Смотрите строки MPRINT в вашем ЛОГЕ.
MPRINT(ALFRED): SystemPeakDate2=1858869000;
MPRINT(ALFRED): SystemPeakDate=input(SystemPeakDate2,best32.);
Ваша попытка преобразовать его в число с помощью функции INPUT () просто заставит SAS сначала преобразовать его в символьную строку, чтобы INPUT ()Функция имеет символьную строку для чтения.
Если вы хотите преобразовать SystemPeakDate
из символьного в числовое значение, используйте функцию INPUT () с функцией informat, которая генерирует числовые значения.Так что, возможно, вам нужно что-то вроде:
SystemPeakDate2=input(SystemPeakDate,anydtdtm32.);
format SystemPeakDate2 datetime19. ;
То, какой информат используется в вызове функции INPUT (), зависит от того, как выглядят строки символов в исходной переменной.Информат ANYDTDTM попытается угадать, что представляют значения для ряда различных символьных представлений значений даты и времени.Но если ваши исходные значения имеют часть даты в порядке MDY или DMY, это может привести к неправильному решению для неоднозначных значений, таких как «10/12/2018».Поэтому лучше использовать информацию, которая соответствует построению ваших фактических значений.
Если вы хотите преобразовать цифру в символ, то, возможно, вы хотите использовать вместо нее функцию PUT ()?
SystemPeakDate=put(&sp_datetime,datetime19.-L);
Тогда нет необходимости прикреплять формат к символьной переменной SystemPeakDate.SAS уже знает, как отображать символьные переменные без каких-либо специальных инструкций по форматированию.