Как изменить дату, отформатированную как «2017-03-24», в правильный формат даты в SAS? - PullRequest
0 голосов
/ 25 сентября 2019

Мне нужно изменить текущее значение на формат date9.

input Company_Name$ 1-58 Form_Type$ 59-70 CIK Date_filed$ 86-96 File_Name$ 118-141;
length Date_filed $10.;
format Date_filed yymmdd10.;
ndate=put(Date_filed, yymmdd10.);

это то, что у меня есть, но это не работает.Я не уверен, как это сделать.

1 Ответ

0 голосов
/ 25 сентября 2019

SAS хранит даты в числовых переменных как количество дней с 1960 года. Получив допустимое значение даты, вы можете прикрепить любой из множества форматов, которые изменяют способ отображения значения.Для чтения непосредственно из исходного файла в значение даты, используя INFORMAT, который подходит для значения.Обратите внимание, что вы не можете объединить информат с диапазоном столбцов в операторе ввода.Вместо этого вы можете использовать @ для позиционирования в первом столбце строки даты, а затем использовать форматированный ввод.Также вы не указали INPUT, какие столбцы читать для переменной CIK.

input Company_Name $ 1-58 Form_Type $ 59-70
      CIK 71-85 @86 Date_filed yymmdd10. 
      File_Name $ 118-141
;
format Date_filed date9.;

Обратите внимание, что вы читали 11 столбцов раньше, но для строк даты в стиле ГГГГ-ММ-ДД нужно всего 10 столбцов, поэтому проверьтеесли ваши строки даты находятся в столбцах 86-95 или столбцах 87-96.Если вы не читаете правильные столбцы, вы можете пропустить вторую цифру дня месяца или первую цифру года.

...