data a;
input Time$ type$ price Bidprice askprice QUALIFIERS$ minute day month year @@;
cards;
30:05.6 Quote . 50 . . 30 3 1 2006
30:05.6 Quote . . 51.5 . 30 3 1 2006
30:26.2 Quote . 52.5 . . 30 3 1 2006
30:26.2 Quote . . 51 . 30 3 1 2006
30:54.9 Quote . . 48 . 30 3 1 2006
31:20.3 Quote . 53 . . 31 3 1 2006
55:42.4 Trade 50.5 . . OpenUSER 55 3 1 2006
55:45.3 Quote . 50.5 . . 55 3 1 2006
55:45.3 Quote . . 51 . 55 3 1 2006
55:45.3 Trade 50.5 . . B[ACT_FLAG1]High|Low[USER] 55 3 1 2006
;
run;
%let mark=OpenUSER;
data out;
do i=1 to end;
set a point=i nobs=end;
if QUALIFIERS="&mark" then do k=i+1 to end; /*需要前面数据的话改成 k= 1 to i-1*/
set a point=k;
output;
end;
end;
stop;
run;