<?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 program my question in SAS in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211549#M52255</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;

data have;
input ID $ (FROM_DT THRU_DT) (: mmddyy10.) ;
format FROM_DT THRU_DT mmddyy10.;
datalines;
10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02/03/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02/25/2014
10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/01/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/02/2014
10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/03/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/05/2014
10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/07/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/30/2014
10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08/20/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08/25/2014
11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/02/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/03/2013
11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/08/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/20/2013
;
run;
data temp;
 set have;
 do date=FROM_DT to THRU_DT;
&amp;nbsp; output;
 end;
 format date mmddyy10.;
 drop FROM_DT THRU_DT ;
run;
data temp;
 set temp;
 if id ne lag(id) or dif(date) gt 30 then n+1;
run;
data want;
 set temp;
 by n;
 retain FROM_DT;
 if first.n then FROM_DT=date;
 if last.n then do;THRU_DT=date;output;end;
 format FROM_DT THRU_DT mmddyy10.;
 drop date n;
run;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Xia Keshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 27 Mar 2015 14:13:17 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2015-03-27T14:13:17Z</dc:date>
    <item>
      <title>How to program my question in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211542#M52248</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hello all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I illustrated my question in the following example. Could you please help me to generate the desired output in SAS ? Basically, we would like to expand the service period and ignore any gaps within 30 days.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM_DT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; THRU_DT&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02/03/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02/25/2014&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/01/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/02/2014&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/03/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/05/2014&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/07/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/30/2014&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08/20/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08/25/2014&lt;/P&gt;&lt;P&gt;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/02/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/03/2013&lt;/P&gt;&lt;P&gt;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/08/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/20/2013&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Desired output should look like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM_DT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; THRU_DT&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02/03/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/05/2014&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/07/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08/25/2014&lt;/P&gt;&lt;P&gt;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/02/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/20/2013&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Mar 2015 20:34:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211542#M52248</guid>
      <dc:creator>LauraZhu</dc:creator>
      <dc:date>2015-03-26T20:34:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to program my question in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211543#M52249</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What have you done so far? Which bit can't you solve? Post the code you already have even if it isn't fully working yet.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Mar 2015 21:38:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211543#M52249</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2015-03-26T21:38:25Z</dc:date>
    </item>
    <item>
      <title>Re: How to program my question in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211544#M52250</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Look at the lag function&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Mar 2015 00:22:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211544#M52250</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2015-03-27T00:22:56Z</dc:date>
    </item>
    <item>
      <title>Re: How to program my question in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211545#M52251</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please try&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM_DT :mmddyy10.&amp;nbsp;&amp;nbsp;&amp;nbsp; THRU_DT :mmddyy10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; subs=THRU_DT- FROM_DT;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format FROM_DT THRU_DT date9.;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02/03/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02/25/2014&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/01/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/02/2014&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/03/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/05/2014&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/07/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/30/2014&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08/20/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08/25/2014&lt;/P&gt;&lt;P&gt;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/02/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/03/2013&lt;/P&gt;&lt;P&gt;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/08/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/20/2013&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=have;&lt;/P&gt;&lt;P&gt;by id;&lt;/P&gt;&lt;P&gt;where subs &amp;gt; 30;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Mar 2015 04:11:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211545#M52251</guid>
      <dc:creator>Jagadishkatam</dc:creator>
      <dc:date>2015-03-27T04:11:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to program my question in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211546#M52252</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A __default_attr="9792" __jive_macro_name="user" class="jive_macro jive_macro_user" data-objecttype="3" href="https://communities.sas.com/"&gt;&lt;/A&gt;&amp;nbsp; I think you need to compare the from date to the previous thru date for the 30 day duration. It's the continuous enrolment problem. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Mar 2015 05:10:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211546#M52252</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2015-03-27T05:10:22Z</dc:date>
    </item>
    <item>
      <title>Re: How to program my question in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211547#M52253</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;could you make your question more clear? &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Mar 2015 08:03:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211547#M52253</guid>
      <dc:creator>viveklanka</dc:creator>
      <dc:date>2015-03-27T08:03:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to program my question in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211548#M52254</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi @LauraZhu, The following does what you want:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;input (ID FROM_DT THRU_DT) ($2. 2*:mmddyy10.) ;&lt;BR /&gt;format FROM_DT THRU_DT mmddyy10.;&lt;BR /&gt;datalines;&lt;BR /&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02/03/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02/25/2014&lt;BR /&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/01/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/02/2014&lt;BR /&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/03/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/05/2014&lt;BR /&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/07/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/30/2014&lt;BR /&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08/20/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08/25/2014&lt;BR /&gt;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/02/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/03/2013&lt;BR /&gt;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/08/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/20/2013&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want(rename=(newfrm_dt=FROM_DT newthru_dt=THRU_DT));&lt;BR /&gt; set have;&lt;BR /&gt; by id;&lt;BR /&gt; retain holddate;&lt;BR /&gt; k=lag(thru_dt);&lt;/P&gt;&lt;P&gt; if first.id then&lt;BR /&gt;&amp;nbsp; holddate=from_dt;&lt;/P&gt;&lt;P&gt; if not first.id and from_dt-k&amp;gt;30 then&lt;BR /&gt;&amp;nbsp; do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; newfrm_dt=holddate;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; newthru_dt=k;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; holddate=from_dt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt; if last.id then&lt;BR /&gt;&amp;nbsp; do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; newfrm_dt=holddate;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; newthru_dt=thru_dt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt; keep id newfrm_dt newthru_dt;&lt;BR /&gt; format newfrm_dt newthru_dt mmddyy10.;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Naveen Srinivasan&lt;/P&gt;&lt;P&gt;L&amp;amp;T Infotech&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Mar 2015 08:40:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211548#M52254</guid>
      <dc:creator>naveen_srini</dc:creator>
      <dc:date>2015-03-27T08:40:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to program my question in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211549#M52255</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;

data have;
input ID $ (FROM_DT THRU_DT) (: mmddyy10.) ;
format FROM_DT THRU_DT mmddyy10.;
datalines;
10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02/03/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02/25/2014
10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/01/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/02/2014
10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04/03/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/05/2014
10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/07/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/30/2014
10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08/20/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 08/25/2014
11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/02/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/03/2013
11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/08/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05/20/2013
;
run;
data temp;
 set have;
 do date=FROM_DT to THRU_DT;
&amp;nbsp; output;
 end;
 format date mmddyy10.;
 drop FROM_DT THRU_DT ;
run;
data temp;
 set temp;
 if id ne lag(id) or dif(date) gt 30 then n+1;
run;
data want;
 set temp;
 by n;
 retain FROM_DT;
 if first.n then FROM_DT=date;
 if last.n then do;THRU_DT=date;output;end;
 format FROM_DT THRU_DT mmddyy10.;
 drop date n;
run;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Xia Keshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Mar 2015 14:13:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211549#M52255</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2015-03-27T14:13:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to program my question in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211550#M52256</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you! I like the programming idea. Very helpful!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Mar 2015 20:23:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-to-program-my-question-in-SAS/m-p/211550#M52256</guid>
      <dc:creator>LauraZhu</dc:creator>
      <dc:date>2015-03-30T20:23:38Z</dc:date>
    </item>
  </channel>
</rss>

