我有一个大型数据集,其中包含每条记录中的开始日期和停止日期。
我们可以将一个唯一的字段值称为Uniq1。
每条记录都有一个Uniq1。
其他字段可以称为MID,PrDl,PsDl。
Uniq1,MID是整数。
我需要做的是从这个数据集输出一个数据集(思考SelfJoin),该数据集标记了每个记录的是或否,(1或0),其中1 =一个记录,其停止日期后跟另一个记录的开始日期在停止日期的30天内。
这将特定于MId,因此如果MId 1按时间顺序记录6条记录,而第二条记录是在前一记录停止日期的30天内进入,则第二条记录将被标记= 1,而初始记录将是标记为0并且在MId 1的4个后续记录中没有其他类似的30天发生,因此它们也被标记为= 0.
理想情况下,我想要以下输出,例如:
Uniq1 MId Start Stop #Days Flag PrDl PsDl
123 1 1/24/2010 2/4/2010 0 CharValue CharValue
321 1 2/25/2010 3/5/2010 21 1 CharValue CharValue
789 1 6/21/2010 6/28/2010 116 0 CharValue CharValue
请注意,Uniq1-123和Uniq1-321之间的#天数为21,因此flag = 1,但是,在Uniq1-321和Uniq1-789之间,#天数为116,旗帜为0。
非常感谢任何建议,谢谢