<?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: Counter that conditionally starts over/increments in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108544#M22576</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Adding a bit of logic should do the trick.&amp;nbsp; Remember to retain the new variable that you want to carry forward.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input cust_acct_num $ status $ stat_bgn :mmddyy10. stat_end&amp;nbsp; :mmddyy10. ;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;123 ACTV 1/2/2012&amp;nbsp;&amp;nbsp; 02/1/2012&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;123 ACTV 2/1/2012&amp;nbsp;&amp;nbsp; 06/2/2012&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;123 ACTV 8/3/2012&amp;nbsp;&amp;nbsp; 11/11/2012&amp;nbsp; &lt;/P&gt;&lt;P&gt;123 ACTV 11/11/2012 01/1/2013&amp;nbsp; &lt;/P&gt;&lt;P&gt;123 ACTV 1/1/2013&amp;nbsp;&amp;nbsp; 05/5/2013&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;444 ACTV 5/1/2013&amp;nbsp;&amp;nbsp; 08/1/2013&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;444 ACTV 10/1/2013&amp;nbsp; 11/1/2013&amp;nbsp; &lt;/P&gt;&lt;P&gt;444 ACTV 11/1/2013&amp;nbsp; 12/2/2013&amp;nbsp; &lt;/P&gt;&lt;P&gt;444 ACTV 12/2/2013&amp;nbsp; 12/31/2013 &lt;/P&gt;&lt;P&gt;555 ACTV 4/1/2012&amp;nbsp;&amp;nbsp; 05/1/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;666 ACTV 6/1/2012&amp;nbsp;&amp;nbsp; 06/30/2012&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;777 ACTV 2/2/2012&amp;nbsp;&amp;nbsp; 02/15/2012&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; by cust_acct_num;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; lag_stat_end = lag(stat_end);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; retain first_bgn .;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if first.cust_acct_num or lag_stat_end ne stat_bgn then first_bgn =stat_bgn;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; format stat_bgn stat_end lag_stat_end first_bgn mmddyy10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 19 Feb 2013 21:18:35 GMT</pubDate>
    <dc:creator>ArtC</dc:creator>
    <dc:date>2013-02-19T21:18:35Z</dc:date>
    <item>
      <title>Counter that conditionally starts over/increments</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108536#M22568</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please see the table, below. How can I create 2 counters in a data step:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Counter 1- increments &lt;SPAN style="text-decoration: underline;"&gt;when&lt;/SPAN&gt; either acct = next acct AND bgn &amp;lt;&amp;gt; to lead_bgn; &lt;SPAN style="color: #575757;"&gt;OR&lt;/SPAN&gt;, when acct &amp;lt;&amp;gt; lead_acct&lt;/P&gt;&lt;P&gt;Counter 2- increments &lt;SPAN style="text-decoration: underline;"&gt;until&lt;/SPAN&gt; acct = lead_acct AND bgn &amp;lt;&amp;gt; lead_bgn; OR, acct &amp;lt;&amp;gt; lead_acct.....when it hits either condition the counter resets to 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code so far (to get lead_acct and lead_bgn:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=work.book1 out=book2;&lt;/P&gt;&lt;P&gt;by acct bgn;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data book3;&lt;/P&gt;&lt;P&gt;merge work.book2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; work.book2 (firstobs=2 keep=acct bgn rename=(acct=lead_acct bgn=lead_bgn));&lt;/P&gt;&lt;P&gt;run;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thx!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 417px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl65" height="20" width="31"&gt;acct&lt;/TD&gt;&lt;TD class="xl65" style="border-left: medium none;" width="66"&gt;bgn&lt;/TD&gt;&lt;TD class="xl65" style="border-left: medium none;" width="65"&gt;lead_acct&lt;/TD&gt;&lt;TD class="xl65" style="border-left: medium none;" width="68"&gt;lead_bgn&lt;/TD&gt;&lt;TD class="xl65" style="border-left: medium none;" width="55"&gt;counter1??&lt;/TD&gt;&lt;TD class="xl65" style="border-left: medium none;" width="64"&gt;counter 2??&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20" style="border-top: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;1/3/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;1/27/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;1&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20" style="border-top: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;1/3/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;1/30/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;1&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20" style="border-top: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;1/3/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;2/3/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;1&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20" style="border-top: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;1/3/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;3/3/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;1&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20" style="border-top: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;2/3/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;3/10/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;2&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20" style="border-top: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;2/3/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;4/1/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;2&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20" style="border-top: medium none;"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;3/10/2012&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;456&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;2/10/2013&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;3&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20" style="border-top: medium none;"&gt;456&lt;/TD&gt;&lt;TD align="right" class="xl66" style="border-top: medium none; border-left: medium none;"&gt;2/1/2013&lt;/TD&gt;&lt;TD class="xl65" style="border-top: medium none; border-left: medium none;"&gt;.&lt;/TD&gt;&lt;TD class="xl66" style="border-top: medium none; border-left: medium none;"&gt;.&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;4&lt;/TD&gt;&lt;TD align="right" class="xl65" style="border-top: medium none; border-left: medium none;"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Feb 2013 16:28:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108536#M22568</guid>
      <dc:creator>scottp</dc:creator>
      <dc:date>2013-02-13T16:28:44Z</dc:date>
    </item>
    <item>
      <title>Re: Counter that conditionally starts over/increments</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108537#M22569</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have you looked into by group processing?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Feb 2013 16:51:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108537#M22569</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2013-02-13T16:51:17Z</dc:date>
    </item>
    <item>
      <title>Re: Counter that conditionally starts over/increments</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108538#M22570</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, I tried by grouping in the data set, but gave up.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Feb 2013 16:55:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108538#M22570</guid>
      <dc:creator>scottp</dc:creator>
      <dc:date>2013-02-13T16:55:01Z</dc:date>
    </item>
    <item>
      <title>Re: Counter that conditionally starts over/increments</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108539#M22571</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;by acct bgn;&lt;/P&gt;&lt;P&gt;retain counter1=0;&lt;/P&gt;&lt;P&gt;if first.bgn then counter1+1;&lt;/P&gt;&lt;P&gt;if first.bgn then counter2=1;&lt;/P&gt;&lt;P&gt;else counter2+1;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Feb 2013 18:17:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108539#M22571</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2013-02-13T18:17:49Z</dc:date>
    </item>
    <item>
      <title>Re: Counter that conditionally starts over/increments</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108540#M22572</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;@Reeza, slight typo (no = in the RETAIN statement)&lt;/P&gt;&lt;P&gt;retain counter1 0;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2013 07:39:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108540#M22572</guid>
      <dc:creator>ArtC</dc:creator>
      <dc:date>2013-02-16T07:39:17Z</dc:date>
    </item>
    <item>
      <title>Re: Counter that conditionally starts over/increments</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108541#M22573</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Excellent, thank you for your help!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2013 19:32:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108541#M22573</guid>
      <dc:creator>scottp</dc:creator>
      <dc:date>2013-02-19T19:32:48Z</dc:date>
    </item>
    <item>
      <title>Re: Counter that conditionally starts over/increments</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108542#M22574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2013 19:32:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108542#M22574</guid>
      <dc:creator>scottp</dc:creator>
      <dc:date>2013-02-19T19:32:59Z</dc:date>
    </item>
    <item>
      <title>Re: Counter that conditionally starts over/increments</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108543#M22575</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Art,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What if I wanted to retain the stat_bgn to a new variable called first_bgn (below), that would retain until the lag_stat_end &amp;lt;&amp;gt; stat_bgn?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="447"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl65" height="20" width="99"&gt;cust_acct_num&lt;/TD&gt;&lt;TD class="xl65" width="44"&gt;status&lt;/TD&gt;&lt;TD class="xl65" width="75"&gt;stat_bgn&lt;/TD&gt;&lt;TD class="xl65" width="75"&gt;stat_end&lt;/TD&gt;&lt;TD class="xl65" width="86"&gt;lag_stat_end&lt;/TD&gt;&lt;TD class="xl65" width="68"&gt;first_bgn&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;123&lt;/TD&gt;&lt;TD class="xl65"&gt;ACTV&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;1/2/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;2/1/2012&lt;/TD&gt;&lt;TD class="xl65"&gt;.&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;1/2/2012&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;123&lt;/TD&gt;&lt;TD class="xl65"&gt;ACTV&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;2/1/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;6/2/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;2/1/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;1/2/2012&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;123&lt;/TD&gt;&lt;TD class="xl65"&gt;ACTV&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;8/3/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;11/11/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;6/2/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;8/3/2012&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;123&lt;/TD&gt;&lt;TD class="xl65"&gt;ACTV&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;11/11/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;1/1/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;11/11/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;8/3/2012&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;123&lt;/TD&gt;&lt;TD class="xl65"&gt;ACTV&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;1/1/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;5/5/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;1/1/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;8/3/2012&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;444&lt;/TD&gt;&lt;TD class="xl65"&gt;ACTV&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;5/1/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;8/1/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;5/5/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;5/1/2013&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;444&lt;/TD&gt;&lt;TD class="xl65"&gt;ACTV&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;10/1/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;11/1/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;8/1/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;10/1/2013&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;444&lt;/TD&gt;&lt;TD class="xl65"&gt;ACTV&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;11/1/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;12/2/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;11/1/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;10/1/2013&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;444&lt;/TD&gt;&lt;TD class="xl65"&gt;ACTV&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;12/2/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;12/31/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;12/2/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;10/1/2013&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;555&lt;/TD&gt;&lt;TD class="xl65"&gt;ACTV&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;4/1/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;5/1/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;12/31/2013&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;4/1/2012&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;666&lt;/TD&gt;&lt;TD class="xl65"&gt;ACTV&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;6/1/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;6/30/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;5/1/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;6/1/2012&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;777&lt;/TD&gt;&lt;TD class="xl65"&gt;ACTV&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;2/2/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;2/15/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;6/30/2012&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;2/2/2012&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2013 20:28:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108543#M22575</guid>
      <dc:creator>scottp</dc:creator>
      <dc:date>2013-02-19T20:28:57Z</dc:date>
    </item>
    <item>
      <title>Re: Counter that conditionally starts over/increments</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108544#M22576</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Adding a bit of logic should do the trick.&amp;nbsp; Remember to retain the new variable that you want to carry forward.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input cust_acct_num $ status $ stat_bgn :mmddyy10. stat_end&amp;nbsp; :mmddyy10. ;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;123 ACTV 1/2/2012&amp;nbsp;&amp;nbsp; 02/1/2012&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;123 ACTV 2/1/2012&amp;nbsp;&amp;nbsp; 06/2/2012&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;123 ACTV 8/3/2012&amp;nbsp;&amp;nbsp; 11/11/2012&amp;nbsp; &lt;/P&gt;&lt;P&gt;123 ACTV 11/11/2012 01/1/2013&amp;nbsp; &lt;/P&gt;&lt;P&gt;123 ACTV 1/1/2013&amp;nbsp;&amp;nbsp; 05/5/2013&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;444 ACTV 5/1/2013&amp;nbsp;&amp;nbsp; 08/1/2013&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;444 ACTV 10/1/2013&amp;nbsp; 11/1/2013&amp;nbsp; &lt;/P&gt;&lt;P&gt;444 ACTV 11/1/2013&amp;nbsp; 12/2/2013&amp;nbsp; &lt;/P&gt;&lt;P&gt;444 ACTV 12/2/2013&amp;nbsp; 12/31/2013 &lt;/P&gt;&lt;P&gt;555 ACTV 4/1/2012&amp;nbsp;&amp;nbsp; 05/1/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;666 ACTV 6/1/2012&amp;nbsp;&amp;nbsp; 06/30/2012&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;777 ACTV 2/2/2012&amp;nbsp;&amp;nbsp; 02/15/2012&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; by cust_acct_num;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; lag_stat_end = lag(stat_end);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; retain first_bgn .;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if first.cust_acct_num or lag_stat_end ne stat_bgn then first_bgn =stat_bgn;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; format stat_bgn stat_end lag_stat_end first_bgn mmddyy10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2013 21:18:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counter-that-conditionally-starts-over-increments/m-p/108544#M22576</guid>
      <dc:creator>ArtC</dc:creator>
      <dc:date>2013-02-19T21:18:35Z</dc:date>
    </item>
  </channel>
</rss>

