Использовать символьную строку даты в качестве даты в шаге данных

У меня есть следующие две макропеременные:

%let start_date = 29MAY2014;
%let end_date = 15JUL2014;

Я хотел бы создать набор данных, который представляет собой серию дат между ними (включительно). Я не могу изменить формат ввода макропеременных &start_date а также &end_date,

Я перепробовал множество вариантов следующего, но SAS выдает ошибку для каждого:

data base_dates;
   do date = put("&start_date",date9.) to put("&end_date",date9.);
      output;
   end;
   format date date11.;
run;

Любая помощь в этом будет высоко ценится

2 ответа

Используйте их как литералы даты, заключите в кавычки и добавьте объявление в конце.

Do date = "&start_date"d to "&end_date"d;

Это было просто; input() вместо put ()

data base_dates;
do date = input("&start_date",date9.) to input("&end_date",date9.);
output;
end;
format date date11.;
run;
Другие вопросы по тегам