使用字符日期字符串作为数据步骤中的日期

时间:2016-06-03 04:44:05

标签: date sas sas-macro datastep

我有以下两个宏变量:

%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 个答案:

答案 0 :(得分:1)

将它们用作日期文字,用引号括起来并在末尾添加一个d。

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

答案 1 :(得分:0)

很简单; input()而不是put()

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