我有两张桌子,为简单起见:
表1:
Date ID
20170401 X
20170501 Y
20170601 Z
表2:
Date ID
20170201 Z
20170301 Y
20170501 X
我想创建一个新表,其中包含表1中的所有内容,除非ID出现在表2中的上一个日期。
表1和表2的所需输出为:
Date ID
20170401 X
这就是我现在拥有的。我不知道在哪里放置条件合并:
data new;
merge table1 table2(in=b);
by date ID;
if not b [where table2.date is before table1.date];
run;
由于
答案 0 :(得分:0)
不幸的是,SAS会覆盖具有相同名称的变量,因此请重命名table2中的日期。合并ID并仅在表1中保留并传递您的日期标准。然后删除date2列,因为它不需要。
data new;
merge table1 (in=a) table2(in=b rename=(date=date2));
by ID;
if a and not(date2<date);
drop date2;
run;