SAS宏来自PROC SQL日期错误

SAS宏来自PROC SQL日期错误,sas,proc,Sas,Proc,您好,我正在尝试将数据集中的特定日期放入宏中,以便在数据步骤中使用它,但我总是得到1960年1月1日,而不是我想要的日期 我的代码是下一个: proc sql noprint ; select WEEK_START into :WEEK_START from date_table WHERE FW= 5; quit; %let start=&WEEK_START; %LET TODAY= T

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

      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日

  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的日期值。看起来您的原始数据填充不正确。

您的周开始日期实际上是一个日期时间变量。尝试使用dtdate11。改为格式化。