一个日期变量在另一个日期变量之前的数据集

时间:2019-03-21 17:38:26

标签: sas

我已经合并了两个数据集。一个数据集具有项目提交的日期,而另一个数据集具有项目结束的日期。我想要一个新的数据集,其中仅包含结束日期早于提交日期的项目。我基本上是在尝试将项目提交外部审核之前,先确定哪些项目已被适当关闭。两个日期变量均为date9。格式。

数据看起来像这样(编辑:没有丢失的日期)

Service Submission_date End_date
1       1/1/2010        2/1/2009
2       2/1/2010        12/31/2010
3       5/1/2012        3/1/2010

我使用了一个简单的where语句,但是仍然看不到错误的日期。我使用了如下代码:

data correctsubmission;
set projects;
where end_date < submit_date;
run;

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

确保变量实际包含日期。

data have;
  input Service Submission_date End_date ;
  informat Submission_date End_date mmddyy.;
  format Submission_date End_date yymmdd10.;
cards;
1       1/1/2010        2/1/2009
2       2/1/2010        12/31/2010
3       5/1/2012        3/1/2010
;

它们应该是包含自1960年以来的天数的数字变量。最好使用日期格式(例如DATE,YYMMDD等),以便人类可以读取显示的值。

还请确保考虑缺失值。

data want;
  set have;
  where .Z < end_date < submission_date;
run;

或反转测试。

data want ;
 set have;
 where Submission_date > End_date ;
run;