【问题标题】:use a character date string as a date in data step在数据步骤中使用字符日期字符串作为日期
【发布时间】:2016-06-03 04:44:04
【问题描述】:

我有以下两个宏变量:

%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;

对此的任何帮助将不胜感激

【问题讨论】:

    标签: date sas sas-macro datastep


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • @Reeza 的解决方案应该是首选方式。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多