<?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 How to aggregate data according to dates with 1-6 days gap ? in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/How-to-aggregate-data-according-to-dates-with-1-6-days-gap/m-p/711628#M26954</link>
    <description>&lt;P&gt;I have a database which contains IDs , dates and costs like this:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;cost&lt;/TD&gt;&lt;TD&gt;Difference&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID1&lt;/TD&gt;&lt;TD&gt;25/02/2020&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID1&lt;/TD&gt;&lt;TD&gt;26/02/2020&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID2&lt;/TD&gt;&lt;TD&gt;01/05/2020&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID2&lt;/TD&gt;&lt;TD&gt;07/05/2020&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID3&lt;/TD&gt;&lt;TD&gt;03/01/2019&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID3&lt;/TD&gt;&lt;TD&gt;04/01/2019&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID3&lt;/TD&gt;&lt;TD&gt;05/01/2019&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;what I want to do is to sum the cost by ID and by dates with gap of 1 to 6 days, so the required data would be as below:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;cost&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID1&lt;/TD&gt;&lt;TD&gt;25/02/2020&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID2&lt;/TD&gt;&lt;TD&gt;01/05/2020&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID3&lt;/TD&gt;&lt;TD&gt;03/01/2019&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I tried to do is to create another date variable that takes the same date if we have gaps, and then do the sum by this date variable and the ID with this code but it doesn't work:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data new;
set old;
format new_date yymmdd10.;
if (1&amp;lt;=lag_Diff&amp;lt;=6 ) then new_date=lag_date;
if (1&amp;lt;=lag_Diff&amp;lt;=6 and 1&amp;lt;=lag_lag_Diff&amp;lt;=6) then new_date=lag_lag_date;

if new_date eq . then new_date=date;
run;&lt;/PRE&gt;&lt;P&gt;I would be thankful if you help me&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 15 Jan 2021 10:08:05 GMT</pubDate>
    <dc:creator>tSAS1</dc:creator>
    <dc:date>2021-01-15T10:08:05Z</dc:date>
    <item>
      <title>How to aggregate data according to dates with 1-6 days gap ?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-aggregate-data-according-to-dates-with-1-6-days-gap/m-p/711628#M26954</link>
      <description>&lt;P&gt;I have a database which contains IDs , dates and costs like this:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;cost&lt;/TD&gt;&lt;TD&gt;Difference&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID1&lt;/TD&gt;&lt;TD&gt;25/02/2020&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID1&lt;/TD&gt;&lt;TD&gt;26/02/2020&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID2&lt;/TD&gt;&lt;TD&gt;01/05/2020&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID2&lt;/TD&gt;&lt;TD&gt;07/05/2020&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID3&lt;/TD&gt;&lt;TD&gt;03/01/2019&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID3&lt;/TD&gt;&lt;TD&gt;04/01/2019&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID3&lt;/TD&gt;&lt;TD&gt;05/01/2019&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;what I want to do is to sum the cost by ID and by dates with gap of 1 to 6 days, so the required data would be as below:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;cost&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID1&lt;/TD&gt;&lt;TD&gt;25/02/2020&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID2&lt;/TD&gt;&lt;TD&gt;01/05/2020&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ID3&lt;/TD&gt;&lt;TD&gt;03/01/2019&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I tried to do is to create another date variable that takes the same date if we have gaps, and then do the sum by this date variable and the ID with this code but it doesn't work:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data new;
set old;
format new_date yymmdd10.;
if (1&amp;lt;=lag_Diff&amp;lt;=6 ) then new_date=lag_date;
if (1&amp;lt;=lag_Diff&amp;lt;=6 and 1&amp;lt;=lag_lag_Diff&amp;lt;=6) then new_date=lag_lag_date;

if new_date eq . then new_date=date;
run;&lt;/PRE&gt;&lt;P&gt;I would be thankful if you help me&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jan 2021 10:08:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-aggregate-data-according-to-dates-with-1-6-days-gap/m-p/711628#M26954</guid>
      <dc:creator>tSAS1</dc:creator>
      <dc:date>2021-01-15T10:08:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to aggregate data according to dates with 1-6 days gap ?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-aggregate-data-according-to-dates-with-1-6-days-gap/m-p/711630#M26955</link>
      <description>&lt;P&gt;First, create a "group date", then run PROC SUMMARY:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID $ date :ddmmyy10. cost  Difference;
format date yymmdd10.;
datalines;
ID1 25/02/2020  20  1
ID1 26/02/2020  10  .
ID2 01/05/2020  15  6
ID2 07/05/2020  23  .
ID3 03/01/2019  18  1
ID3 04/01/2019  17  1
ID3 05/01/2019  11  .
;

data grouped;
set have;
by id;
retain gapdate;
format gapdate yymmdd10.;
if first.id
then gapdate = date;
else if date - gapdate &amp;gt; 6 then gapdate = date;
run;

proc summary data=grouped;
by id gapdate;
var cost;
output
  out=want (
    drop=_:
    rename=(gapdate=date)
  )
  sum()=
;
run;

proc print data=want noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;PRE&gt;ID	date	cost
ID1	2020-02-25	30
ID2	2020-05-01	38
ID3	2019-01-03	46
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;FONT size="3"&gt;&lt;EM&gt;Edit: changed the conditions in the second data step to avoid a "missing" NOTE.&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jan 2021 10:21:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-aggregate-data-according-to-dates-with-1-6-days-gap/m-p/711630#M26955</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-01-15T10:21:38Z</dc:date>
    </item>
    <item>
      <title>Re: How to aggregate data according to dates with 1-6 days gap ?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/How-to-aggregate-data-according-to-dates-with-1-6-days-gap/m-p/711633#M26956</link>
      <description>Thank you very much for the solution</description>
      <pubDate>Fri, 15 Jan 2021 10:40:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/How-to-aggregate-data-according-to-dates-with-1-6-days-gap/m-p/711633#M26956</guid>
      <dc:creator>tSAS1</dc:creator>
      <dc:date>2021-01-15T10:40:59Z</dc:date>
    </item>
  </channel>
</rss>

