Sas 一个日期变量先于另一个日期变量的数据集
我合并了两个数据集。一个数据集有项目提交的日期,另一个数据集有项目结束的时间。我希望有一个新的数据集,其中只包含结束日期早于提交日期的项目。我基本上是想在我们提交给外部审查之前,确定哪些项目被适当地关闭了。两个日期变量都是date9。格式 数据如下所示(编辑:没有丢失的日期) 我使用了一个简单的where语句,但我仍然没有看到错误的日期。我使用的代码如下:Sas 一个日期变量先于另一个日期变量的数据集,sas,Sas,我合并了两个数据集。一个数据集有项目提交的日期,另一个数据集有项目结束的时间。我希望有一个新的数据集,其中只包含结束日期早于提交日期的项目。我基本上是想在我们提交给外部审查之前,确定哪些项目被适当地关闭了。两个日期变量都是date9。格式 数据如下所示(编辑:没有丢失的日期) 我使用了一个简单的where语句,但我仍然没有看到错误的日期。我使用的代码如下: data correctsubmission; set projects; where end_date < submit_date;
data correctsubmission;
set projects;
where end_date < submit_date;
run;
数据提交;
设置项目;
其中结束日期<提交日期;
跑
有什么想法吗?确保变量中确实包含日期
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年以来的天数。最好使用日期格式(如日期、YYMMDD等),以便人类可以读取显示的值
还要确保考虑缺少的值
data want;
set have;
where .Z < end_date < submission_date;
run;
如果缺少
结束日期
,则该日期将小于提交日期
。SAS将所有缺少的值视为小于任何实际值。此实例中不缺少我的任何日期是提交日期还是提交日期?因为在这个问题上你两者都有。此外,我建议使用日期常量代替结束日期测试代码,并分别提交结束日期,以检查SAS是否正确识别每个变量(例如,结束日期<'2010年1月1日)。日志输出中有任何警告或注释吗?谢谢,但没有遗漏日期。
data want;
set have;
where .Z < end_date < submission_date;
run;
data want ;
set have;
where Submission_date > End_date ;
run;