Использовать символьную строку даты в качестве даты в шаге данных
У меня есть следующие две макропеременные:
%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;