我已经合并了两个数据集。一个数据集具有项目提交的日期,而另一个数据集具有项目结束的日期。我想要一个新的数据集,其中仅包含结束日期早于提交日期的项目。我基本上是在尝试将项目提交外部审核之前,先确定哪些项目已被适当关闭。两个日期变量均为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;
有什么想法吗?
答案 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;