<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to calculate events on diffetent rows in particular condition in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/How-to-calculate-events-on-diffetent-rows-in-particular/m-p/467330#M70686</link>
    <description>&lt;P&gt;This will get you most of the way there:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=have;&lt;/P&gt;
&lt;P&gt;by code start_date end_date;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data events;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;by code;&lt;/P&gt;
&lt;P&gt;seconds = dif(start_date);&lt;/P&gt;
&lt;P&gt;if first.code or seconds &amp;gt; 3600 then&amp;nbsp;event_block + 1;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;proc summary data=events;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;var start_date end_date;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;by code event_block;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;output out=want min(start_date) = start_date max(end_date) = end_date;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This gives you one observation per event, with the minimum start date and the maximum end date for that event.&amp;nbsp; There is obviously more processing to do to get this into final form.&amp;nbsp; For example, you could compute DURATION in seconds by taking end_date minus start_date.&amp;nbsp; And the number of events is the number of observations.&amp;nbsp; But at least you have all the pieces needed.&lt;/P&gt;</description>
    <pubDate>Mon, 04 Jun 2018 09:47:47 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2018-06-04T09:47:47Z</dc:date>
    <item>
      <title>How to calculate events on diffetent rows in particular condition</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-calculate-events-on-diffetent-rows-in-particular/m-p/467327#M70685</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a table that show a &lt;U&gt;&lt;EM&gt;Code&lt;/EM&gt;&lt;/U&gt;, a &lt;EM&gt;&lt;U&gt;Start_Date&lt;/U&gt; &lt;/EM&gt;and an &lt;U&gt;&lt;EM&gt;End_Date&lt;/EM&gt;&lt;/U&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;code&lt;/TD&gt;&lt;TD&gt;START_DATE&lt;/TD&gt;&lt;TD&gt;END_DATE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;09Jan2018 11:30:00&lt;/TD&gt;&lt;TD&gt;09Jan2018 15:40:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;09Jan2018 11:30:00&lt;/TD&gt;&lt;TD&gt;09Jan2018 15:40:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;10Jan2018 9:00:00&lt;/TD&gt;&lt;TD&gt;10Jan2018 9:33:44&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;10Jan2018 9:40:43&lt;/TD&gt;&lt;TD&gt;10Jan2018 10:30:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;10Jan2018 11:00:00&lt;/TD&gt;&lt;TD&gt;10Jan2018 14:20:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;10Jan2018 14:30:00&lt;/TD&gt;&lt;TD&gt;10Jan2018 14:30:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;18Jan2018 9:00:00&lt;/TD&gt;&lt;TD&gt;18Jan2018 15:20:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;18Jan2018 8:00:00&lt;/TD&gt;&lt;TD&gt;18Jan2018 15:20:00&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have to calculate the number of the Events (for a same Code) and the Sum of each duration.&lt;/P&gt;&lt;P&gt;Moreover in case of multiple event with same Code and Start_date less than 1 hour, the Duration will&amp;nbsp;be considered as&amp;nbsp;Min Start_Date and the Max End_date and will be&amp;nbsp;counted&amp;nbsp;just one event.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below the desired output:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;code&lt;/TD&gt;&lt;TD&gt;START_DATE&lt;/TD&gt;&lt;TD&gt;END_DATE&lt;/TD&gt;&lt;TD&gt;DURATION&lt;/TD&gt;&lt;TD&gt;Event&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;09Jan2018 11:30:00&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;09Jan2018 15:40:00&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;4h 10m&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;09Jan2018 11:30:00&lt;/TD&gt;&lt;TD&gt;09Jan2018 15:40:00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10Jan2018 9:00:00&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;10Jan2018 9:33:44&lt;/TD&gt;&lt;TD&gt;1h 30m&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;10Jan2018 9:40:43&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10Jan2018 10:30:00&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10Jan2018 11:00:00&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;10Jan2018 14:20:00&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;3h 20 m&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;18Jan2018 9:00:00&lt;/TD&gt;&lt;TD&gt;18Jan2018 15:20:00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;18Jan2018 8:00:00&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;18Jan2018 15:20:00&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;7h 20m&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could anyone help&amp;nbsp;me?&lt;/P&gt;&lt;P&gt;Thanks for your assistance.&lt;/P&gt;</description>
      <pubDate>Mon, 04 Jun 2018 09:06:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-calculate-events-on-diffetent-rows-in-particular/m-p/467327#M70685</guid>
      <dc:creator>Trus</dc:creator>
      <dc:date>2018-06-04T09:06:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate events on diffetent rows in particular condition</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-calculate-events-on-diffetent-rows-in-particular/m-p/467330#M70686</link>
      <description>&lt;P&gt;This will get you most of the way there:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=have;&lt;/P&gt;
&lt;P&gt;by code start_date end_date;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data events;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;by code;&lt;/P&gt;
&lt;P&gt;seconds = dif(start_date);&lt;/P&gt;
&lt;P&gt;if first.code or seconds &amp;gt; 3600 then&amp;nbsp;event_block + 1;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;proc summary data=events;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;var start_date end_date;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;by code event_block;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;output out=want min(start_date) = start_date max(end_date) = end_date;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This gives you one observation per event, with the minimum start date and the maximum end date for that event.&amp;nbsp; There is obviously more processing to do to get this into final form.&amp;nbsp; For example, you could compute DURATION in seconds by taking end_date minus start_date.&amp;nbsp; And the number of events is the number of observations.&amp;nbsp; But at least you have all the pieces needed.&lt;/P&gt;</description>
      <pubDate>Mon, 04 Jun 2018 09:47:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-calculate-events-on-diffetent-rows-in-particular/m-p/467330#M70686</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2018-06-04T09:47:47Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate events on diffetent rows in particular condition</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-calculate-events-on-diffetent-rows-in-particular/m-p/467384#M70690</link>
      <description>Thanks for your reply, it was very helpful for me.</description>
      <pubDate>Mon, 04 Jun 2018 12:59:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-calculate-events-on-diffetent-rows-in-particular/m-p/467384#M70690</guid>
      <dc:creator>Trus</dc:creator>
      <dc:date>2018-06-04T12:59:58Z</dc:date>
    </item>
  </channel>
</rss>

