可以根据日期创建子集

时间:2016-08-31 11:08:35

标签: sas

我有以下数据集和代码:

DATA survey; 
 INPUT id order_date ; 
  DATALINES; 
  1 11JAN2007 
  2 12JAN2007
  3 14JAN2007
; 
PROC PRINT; RUN; 

data work;
set survey;
where '11JAN2007'<= order_date <= '13JAN2007';

proc print data=work;
run;

当我运行此代码时,它确实提供了所需的输出。它只给出一个包含三个空order_date列的表。

对这里出了什么问题的想法?

2 个答案:

答案 0 :(得分:0)

这样可行:

DATA survey; 
informat order_date date9. ;
    INPUT id order_date ; 
    DATALINES; 
    1 11JAN2007 
    2 12JAN2007
    3 14JAN2007
;
RUN; 
PROC PRINT data = survey; 
    format order_date date9.;
RUN; 

data work;
    set survey;
    where '11JAN2007'd<= order_date <= '13JAN2007'd;
run;

proc print data=work;
    format order_date date9.    ;
run;

请参阅SAS帮助了解主题日期,信息,......

答案 1 :(得分:0)

如果要根据日期进行查询,则需要告诉SAS您的字符串是日期。你可以在日期字符串后加一个'd',例如

'11JAN2007'd