Thanks so much for responding to my post with code and I apologize it has taken me so long to acknowledge your help. I ran your code and it doesn't quite give the correct result. For example, the first event would last 25 minutes and the next does not occur until 130 minutes later. Your code gives the first event duration as 30 and events of duration 5 thereafter until the second event. The following is the code my friend came up with: proc sort data=glu; by subid datetime; run; data b; set glu; by subid; keep subid event start stop length; length start stop $18; retain subid event start stop length; if first.subid then do; event=0; length=-5; end; if glu<=70 then do; if length<0 then do; event=event+1; length=length+5; start=datetime; stop=datetime; end; else do; length=length+5; stop=datetime; end; end; else if length>=0 then do; output; *if you don't want 0 length - if length>0 then output; length=-5; end; if last.subid & length>=0 then do; output; *if you don't want 0 length - if length>0 then output; length=-5; end; run; proc print data=b noobs; run; Again, thank you for your assistance!
... View more