<?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 SAS Data Gaps between purchases in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-Data-Gaps-between-purchases/m-p/349177#M80966</link>
    <description>&lt;P&gt;&lt;FONT color="#0000FF"&gt;Hi All,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000FF"&gt;I would like to retreive the period (Month/Year) where the gaps beteen purchases happen. The first table (Have) is what I have and the second tables (Want) is what I need.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000FF"&gt;Basically I would like to see when does the min_gap (1 week) , max_gap (4 weeks), mode_gap (1 week) occurrs.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000FF"&gt;Your help would be much appreciated. Please give me a shout if you have any questions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000FF"&gt;Thank You&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="466"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="96"&gt;Have&lt;/TD&gt;
&lt;TD width="128"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="115"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="127"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;CUSTOMER_ID&lt;/TD&gt;
&lt;TD&gt;WEEK_START_DATE&lt;/TD&gt;
&lt;TD&gt;WEEK_END_DATE&lt;/TD&gt;
&lt;TD&gt;TRANS&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;01-Jan-17&lt;/TD&gt;
&lt;TD&gt;07-Jan-17&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;08-Jan-17&lt;/TD&gt;
&lt;TD&gt;14-Jan-17&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;15-Jan-17&lt;/TD&gt;
&lt;TD&gt;21-Jan-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;22-Jan-17&lt;/TD&gt;
&lt;TD&gt;28-Jan-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;29-Jan-17&lt;/TD&gt;
&lt;TD&gt;04-Feb-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;05-Feb-17&lt;/TD&gt;
&lt;TD&gt;11-Feb-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;12-Feb-17&lt;/TD&gt;
&lt;TD&gt;18-Feb-17&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;19-Feb-17&lt;/TD&gt;
&lt;TD&gt;25-Feb-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;26-Feb-17&lt;/TD&gt;
&lt;TD&gt;04-Mar-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;05-Mar-17&lt;/TD&gt;
&lt;TD&gt;11-Mar-17&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;12-Mar-17&lt;/TD&gt;
&lt;TD&gt;18-Mar-17&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;19-Mar-17&lt;/TD&gt;
&lt;TD&gt;25-Mar-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;26-Mar-17&lt;/TD&gt;
&lt;TD&gt;01-Apr-17&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50027&lt;/TD&gt;
&lt;TD&gt;02-Apr-17&lt;/TD&gt;
&lt;TD&gt;08-Apr-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="466"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="96"&gt;&lt;FONT color="#000000"&gt;Want&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="128"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="115"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="127"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;Customer_id&lt;/TD&gt;
&lt;TD&gt;Month_Min_Gap&lt;/TD&gt;
&lt;TD&gt;Month_Max_Gap&lt;/TD&gt;
&lt;TD&gt;Month_Mode_Gap&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;March &amp;amp; April&lt;/TD&gt;
&lt;TD&gt;Jan To Feb&lt;/TD&gt;
&lt;TD&gt;March &amp;amp; April&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
    <pubDate>Tue, 11 Apr 2017 15:52:32 GMT</pubDate>
    <dc:creator>Question</dc:creator>
    <dc:date>2017-04-11T15:52:32Z</dc:date>
    <item>
      <title>SAS Data Gaps between purchases</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Data-Gaps-between-purchases/m-p/349177#M80966</link>
      <description>&lt;P&gt;&lt;FONT color="#0000FF"&gt;Hi All,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000FF"&gt;I would like to retreive the period (Month/Year) where the gaps beteen purchases happen. The first table (Have) is what I have and the second tables (Want) is what I need.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000FF"&gt;Basically I would like to see when does the min_gap (1 week) , max_gap (4 weeks), mode_gap (1 week) occurrs.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000FF"&gt;Your help would be much appreciated. Please give me a shout if you have any questions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000FF"&gt;Thank You&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="466"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="96"&gt;Have&lt;/TD&gt;
&lt;TD width="128"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="115"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="127"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;CUSTOMER_ID&lt;/TD&gt;
&lt;TD&gt;WEEK_START_DATE&lt;/TD&gt;
&lt;TD&gt;WEEK_END_DATE&lt;/TD&gt;
&lt;TD&gt;TRANS&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;01-Jan-17&lt;/TD&gt;
&lt;TD&gt;07-Jan-17&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;08-Jan-17&lt;/TD&gt;
&lt;TD&gt;14-Jan-17&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;15-Jan-17&lt;/TD&gt;
&lt;TD&gt;21-Jan-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;22-Jan-17&lt;/TD&gt;
&lt;TD&gt;28-Jan-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;29-Jan-17&lt;/TD&gt;
&lt;TD&gt;04-Feb-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;05-Feb-17&lt;/TD&gt;
&lt;TD&gt;11-Feb-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;12-Feb-17&lt;/TD&gt;
&lt;TD&gt;18-Feb-17&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;19-Feb-17&lt;/TD&gt;
&lt;TD&gt;25-Feb-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;26-Feb-17&lt;/TD&gt;
&lt;TD&gt;04-Mar-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;05-Mar-17&lt;/TD&gt;
&lt;TD&gt;11-Mar-17&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;12-Mar-17&lt;/TD&gt;
&lt;TD&gt;18-Mar-17&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;19-Mar-17&lt;/TD&gt;
&lt;TD&gt;25-Mar-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;26-Mar-17&lt;/TD&gt;
&lt;TD&gt;01-Apr-17&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50027&lt;/TD&gt;
&lt;TD&gt;02-Apr-17&lt;/TD&gt;
&lt;TD&gt;08-Apr-17&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="466"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="96"&gt;&lt;FONT color="#000000"&gt;Want&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="128"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="115"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="127"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;Customer_id&lt;/TD&gt;
&lt;TD&gt;Month_Min_Gap&lt;/TD&gt;
&lt;TD&gt;Month_Max_Gap&lt;/TD&gt;
&lt;TD&gt;Month_Mode_Gap&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50026&lt;/TD&gt;
&lt;TD&gt;March &amp;amp; April&lt;/TD&gt;
&lt;TD&gt;Jan To Feb&lt;/TD&gt;
&lt;TD&gt;March &amp;amp; April&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Tue, 11 Apr 2017 15:52:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Data-Gaps-between-purchases/m-p/349177#M80966</guid>
      <dc:creator>Question</dc:creator>
      <dc:date>2017-04-11T15:52:32Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Data Gaps between purchases</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Data-Gaps-between-purchases/m-p/349192#M80972</link>
      <description>&lt;P&gt;You're trying to do too much at once.&amp;nbsp; Try constructing an intermediate data set, with one observation per gap.&amp;nbsp; For example, you might have CUSTOMER, GAP_START, and GAP_END which would contain 4 observations (based on your sample data):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;50026&amp;nbsp; 15-Jan-17 &amp;nbsp;11-Feb-17&lt;/P&gt;
&lt;P&gt;50026&amp;nbsp; 19-Feb-17&amp;nbsp; 04-Mar-17&lt;/P&gt;
&lt;P&gt;50026&amp;nbsp; 19-Mar-17&amp;nbsp; 25-Mar-17&lt;/P&gt;
&lt;P&gt;50027&amp;nbsp; 02-Apr-17&amp;nbsp; 08-Apr-17&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Given that your data is sorted by CUSTOMER_ID, here is a way to get that result:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;by customer_id trans notsorted;&lt;/P&gt;
&lt;P&gt;if first.trans and trans=. then&amp;nbsp;gap_start = week_start_date;&lt;/P&gt;
&lt;P&gt;if last.trans and trans=. then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; gap_end = week_end_date;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;retain gap_start;&lt;/P&gt;
&lt;P&gt;keep customer_id gap_start gap_end;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With one observation per gap, you can run through all the computations you would like.&amp;nbsp; But consider some of the possible outcomes as well.&amp;nbsp; A customer might have a gap that spans 2 years, for example.&amp;nbsp; How would you report on that gap?&lt;/P&gt;</description>
      <pubDate>Tue, 11 Apr 2017 16:45:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Data-Gaps-between-purchases/m-p/349192#M80972</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-04-11T16:45:56Z</dc:date>
    </item>
  </channel>
</rss>

