SAS代码以获取BP之后的最后一个FT

时间:2018-07-26 04:09:23

标签: sas

查询的输入/输出图像如下:

Input/output image of he query is given below

2 个答案:

答案 0 :(得分:0)

这是按组处理的目的。

proc sort data=yourdata;
by SEQ VAR1 TIME;
run;

data yourNewData;
  set yourdata;
  by SEQ VAR1 TIME;

if VAR1="BP" or last.VAR1 then output;
run;

答案 1 :(得分:0)

您可以利用Reby的功能以及由'by'语句创建的自动变量。这是您的工作解决方案:

proc sort data=yourData;
by Seq Time var1;
run;

data yourData1;
set yourData;
by Seq;
retain GroupID;
if first.Seq then GroupID=.;
if var1="BP" then GroupID = sum(GroupID, 1);
run;

data yourData2;
set yourData1;
by Seq GroupID;
if (GroupID ne .) and (var1="BP" or last.GroupID=1);
drop GroupID;
run;