```Date: Fri, 15 Jan 2010 21:28:35 -0500 Reply-To: Arthur Tabachneck Sender: "SAS(r) Discussion" From: Arthur Tabachneck Subject: Re: SUM by Time Stamp Comments: To: OR Stats I think you can get what you want with someting like: data have; retain start; informat datetime anydtdtm.; input datetime x y; if _n_ eq 1 then start=datetime; interval=intck('minute10',start,datetime); cards; jan-15-10:00:01:30 1 1 jan-15-10:00:02:30 1 1 jan-15-10:00:03:30 1 1 jan-15-10:00:04:30 1 1 jan-15-10:00:09:55 4 4 jan-15-10:00:10:05 5 5 jan-15-10:00:19:05 6 6 jan-15-10:00:20:05 7 7 ; data want; set have; by interval; retain finaly_start; if first.interval then do; finalx=x; finaly_start=y; end; else finalx+x; if last.interval then do; finaly_end=y; output; end; run; HTH, Art ------- On Fri, 15 Jan 2010 19:37:33 -0600, OR Stats wrote: >Hello: > >I have data > >T X Y > >where T is the date-hour-min-seconds ; X is some #; and Y is some #. >Everyday, for every 10 minutes, I want to find the sum of X, and save the >first and last value of Y. How do I do this in SAS? > >For example, my data may begin on january 15, 2010 at 1.5 minutes past >midnight. > >jan-15-10: 00: 01: 30 x1 y1 >. >. >. >jan-15-10: 00: 09: 55 x4 y4 >jan-15-10: 00: 10: 05 x5 y5 >jan-15-10: 00: 19: 05 x6 y6 >jan-15-10: 00: 20: 05 x7 y7 >. >In the above, I would like the output for the first 10 minutes to be >first row of output (when time is first 10minutes) >finalx=x1+...+x4 >finaly_start=y1 >finaly_end=y4 > >and this repeats for the next 10 minutes. Notice that at 10min & 5sec past >midnight is not included in the first 10 minutes, but in the second 10 >minutes in the next row of the output >second row of output (when 10minfinalx=x5+x6 >finaly_start=y4 >finaly_end=y6 > >Thx much! ```

Back to: Top of message | Previous page | Main SAS-L page