SAS MACRO来自PROC SQL DATE ERROR

时间:2014-10-06 15:18:52

标签: sas proc

您好我正在尝试将数据集中的特定日期放入宏中,以便我可以在DATA步骤中使用它,但我总是得到01-JAN-1960,我想要的日期 我的代码是下一个:

      proc sql noprint ;
      select WEEK_START
      into :WEEK_START
      from date_table
      WHERE FW= 5;
      quit;

      %let start=&WEEK_START;
      %LET TODAY= TODAY();

我做了这个,所以我可以看到我想要的日期:

      DATA TEMP;    
      DATE =&TODAY;    
      DATE1= &start;
      FORMAT DATE  DATE1 datE11.;
      RUN;

结果是:

日期:2014年10月6日  第1天:1960年1月1日

1 个答案:

答案 0 :(得分:0)

  proc sql noprint ;
  select today()-1 as WEEK_START
  into :WEEK_START
    from maps.africa;
  quit;

  %let start=&WEEK_START;
  %LET TODAY= TODAY();


  DATA TEMP;    
  DATE =&TODAY;    
  DATE1= &start;
  FORMAT DATE  DATE1 datE11.;
  RUN;

当我运行它时,两者都正确填充。

此外,示例中Date1的值是数值0的日期值。看起来您的原始数据填充不正确。