<?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: Collapsing Data Based On Effective and Term Dates in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Collapsing-Data-Based-On-Effective-and-Term-Dates/m-p/148761#M262296</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, Xia, this solution worked as well and looks very efficient. Thank you for the support.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 07 May 2014 15:52:51 GMT</pubDate>
    <dc:creator>mikemangini</dc:creator>
    <dc:date>2014-05-07T15:52:51Z</dc:date>
    <item>
      <title>Collapsing Data Based On Effective and Term Dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Collapsing-Data-Based-On-Effective-and-Term-Dates/m-p/148757#M262292</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have data organized as follows. For each person, there is a row for every month of the year, and a flag telling us if they had an effective policy for that month. Would I would like to do is collapse this into a single row for months where the policy was continuous, and start a new row for every break, ie after every "N" value for Policy_Effective_Flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So my desirable outcome from the sample data below would be:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Row 1: 123, Jan 1 2013, Mar 31 2013&lt;/P&gt;&lt;P&gt;Row 2: 123, Jun 1 2013, Aug 31 2013&lt;/P&gt;&lt;P&gt;Row 3: 123, Oct 1 2013, Dec 31 2013&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help the community can provide would be greatly appreciated. Thank you for your assistance!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" height="324" style="border: 1px solid rgb(0, 0, 0); width: 528px; height: 313px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;PersonID&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;Start_Date&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;Term_Date&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;Policy_Effective_Flag&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;123&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Jan 1 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Jan 31 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Y&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;123&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Feb 1 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Feb 28 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Y&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;123&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Mar 1 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Mar 31 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Y&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;123&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Apr 1 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Apr 30 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;N&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;123&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;May 1 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;May 31 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;N&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;123&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Jun 1 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Jun 30 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Y&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;123&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Jul 1 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Jul 31 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Y&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;123&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Aug 1 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Aug 31 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Y&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;123&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Sep 1 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Sep 30 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;N&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;123&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Oct 1 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Oct 31 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Y&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;123&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Nov 1 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Nov 30 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Y&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;123&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Dec 1 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Dec 31 2013&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;Y&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 May 2014 14:38:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Collapsing-Data-Based-On-Effective-and-Term-Dates/m-p/148757#M262292</guid>
      <dc:creator>mikemangini</dc:creator>
      <dc:date>2014-05-07T14:38:32Z</dc:date>
    </item>
    <item>
      <title>Re: Collapsing Data Based On Effective and Term Dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Collapsing-Data-Based-On-Effective-and-Term-Dates/m-p/148758#M262293</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Assuming the sort is as above the following may work (untested)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;by personID policy_effective_Flag NOTSORTED;&lt;/P&gt;&lt;P&gt;retain t_start_date t_end_date;&lt;/P&gt;&lt;P&gt;if first.flag then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t_start_date=.; t_end_date=.;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;if first.flag and flag="Y" then t_start_date=start_date;&lt;/P&gt;&lt;P&gt;if last.flag and flag="Y" then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t_end_date=term_date;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 May 2014 14:53:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Collapsing-Data-Based-On-Effective-and-Term-Dates/m-p/148758#M262293</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-05-07T14:53:55Z</dc:date>
    </item>
    <item>
      <title>Re: Collapsing Data Based On Effective and Term Dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Collapsing-Data-Based-On-Effective-and-Term-Dates/m-p/148759#M262294</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;THANK YOU. Worked perfectly.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 May 2014 15:39:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Collapsing-Data-Based-On-Effective-and-Term-Dates/m-p/148759#M262294</guid>
      <dc:creator>mikemangini</dc:creator>
      <dc:date>2014-05-07T15:39:37Z</dc:date>
    </item>
    <item>
      <title>Re: Collapsing Data Based On Effective and Term Dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Collapsing-Data-Based-On-Effective-and-Term-Dates/m-p/148760#M262295</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;data have;
infile cards&amp;nbsp; expandtabs;
input (PersonID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Start_Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Term_Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Policy_Effective_Flag) (&amp;amp; $40.);
cards;
123 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Jan 1 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jan 31 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y
123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Feb 1 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Feb 28 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y
123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mar 1 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mar 31 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y
123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Apr 1 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Apr 30 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N
123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; May 1 2013 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;May 31 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N
123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jun 1 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jun 30 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y
123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jul 1 2013 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Jul 31 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y
123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aug 1 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aug 31 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y
123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sep 1 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sep 30 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N
123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Oct 1 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Oct 31 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y
123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Nov 1 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Nov 30 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y
123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dec 1 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dec 31 2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y
;
run;
data want(where=(Policy_Effective_Flag='Y'));
 set have;
 by PersonID Policy_Effective_Flag notsorted;
 length first last $ 40;
 retain first ;
 if first.Policy_Effective_Flag then first=Start_Date;
 if last.Policy_Effective_Flag then do;last=Start_Date;output;end;
 drop Start_Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Term_Date;
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>Wed, 07 May 2014 15:42:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Collapsing-Data-Based-On-Effective-and-Term-Dates/m-p/148760#M262295</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2014-05-07T15:42:18Z</dc:date>
    </item>
    <item>
      <title>Re: Collapsing Data Based On Effective and Term Dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Collapsing-Data-Based-On-Effective-and-Term-Dates/m-p/148761#M262296</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, Xia, this solution worked as well and looks very efficient. Thank you for the support.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 May 2014 15:52:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Collapsing-Data-Based-On-Effective-and-Term-Dates/m-p/148761#M262296</guid>
      <dc:creator>mikemangini</dc:creator>
      <dc:date>2014-05-07T15:52:51Z</dc:date>
    </item>
  </channel>
</rss>

