例如,我想从数据集1获取数据集2。
从数据集1中,在数据集2中选择所有ID,这些ID的任何特定阶段的value1比ID中的上一个阶段的value2大10个点(指向箭头)。
我正在使用SAS EG版本,因此无法进行此类查询。
提前非常感谢您。
您可以在SQL中执行此操作。要获取与条件匹配的行:
select t.*
from t join
t tnext
on tnext.id = t.id and
tnext.phase = t.phase + 1
where tnext.value1 > t.value2 + 10;
然后,您可以使用in
或列出ID exists
:
select t.*
from t
where t.id in (select t2.id
from t t2 join
t tnext
on tnext.id = t2.id and
tnext.phase = t2.phase + 1
where tnext.value1 > t2.value2 + 10
);
谢谢!!在您的帮助下,我成功地选择了想要的组。我也开始了解where-in和join-on子句。