2014-10-06 2 views
0

Привет, я пытаюсь поместить определенную дату из набора данных в макрос, чтобы использовать его на этапе DATA, но я всегда получаю 01-JAN-1960 в качестве даты, когда i хочу мой код следующий:SAS MACRO FROM PROC SQL DATE ERROR

 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; 

И результат:

ДАТА: 06-октября -2014 DATE1: 01-JAN-1960

+1

Дата начала вашей недели - это фактически переменная datetime. Попробуйте использовать dtdate11. Форматируйте вместо этого. – Reeza

ответ

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. Похоже, что исходные данные заселены неправильно.