<?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: Combine/Compare continuous date segments in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Combine-Compare-continuous-date-segments/m-p/337548#M76661</link>
    <description>&lt;P&gt;Thank you so much. This works brilliantly.&lt;/P&gt;</description>
    <pubDate>Thu, 02 Mar 2017 20:21:59 GMT</pubDate>
    <dc:creator>SASTad</dc:creator>
    <dc:date>2017-03-02T20:21:59Z</dc:date>
    <item>
      <title>Combine/Compare continuous date segments</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Combine-Compare-continuous-date-segments/m-p/337424#M76615</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;I'm dealting with two sets of date segments in a single data set. Please find the example below:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;MEM_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VOID_BGN&amp;nbsp;&amp;nbsp;&amp;nbsp; VOID_END&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ACT_BGN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ACT_END&lt;/P&gt;
&lt;P&gt;H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01JUN2015&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAY2016&amp;nbsp;&amp;nbsp; 01JUN2015&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30JUN2015&lt;BR /&gt;H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01JUN2015&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAY2016&amp;nbsp;&amp;nbsp;&amp;nbsp;01JUL2015&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 29FEB2016&lt;BR /&gt;H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01JUN2015&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAY2016&amp;nbsp;&amp;nbsp; 01MAR2016&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAR2016&lt;BR /&gt;H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01JUN2015&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;31MAY2016&amp;nbsp;&amp;nbsp; 01APR2016&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30APR2016&lt;BR /&gt;H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01JUN2015&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAY2016&amp;nbsp;&amp;nbsp; 01MAY2016&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAY2016&lt;BR /&gt;H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01MAR2016&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;31MAY2016&amp;nbsp;&amp;nbsp; 01MAR2016&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAR2016&lt;BR /&gt;H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01MAR2016&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAY2016&amp;nbsp;&amp;nbsp; 01APR2016&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30APR2016&lt;BR /&gt;H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01MAR2016&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAY2016&amp;nbsp;&amp;nbsp; 01MAY2016&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAY2016&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have two date segments in this data set in the form of void and active. For each MEM_ID I'm looking for active date segments&amp;nbsp;that cover the void date segments.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In this case void date segments has two date ranges 01JUN2015 to 31MAY2016 and 01MAR2016&amp;nbsp;&amp;nbsp;to 31MAY2016&amp;nbsp;&amp;nbsp;and they both are covered by the continuous active segments for this particular MEM_ID. I'm unable to identify such scenarios in my main data set because the date segments are divided and I've failed to create a logic to identify such MEM_ID's. There are&amp;nbsp;many such cases in my main data set. Could you please help me with the code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My desired output should be:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;MEM_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VOID_BGN&amp;nbsp;&amp;nbsp;&amp;nbsp; VOID_END&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ACT_BGN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ACT_END&lt;/P&gt;
&lt;P&gt;H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01JUN2015&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAY2016&amp;nbsp;&amp;nbsp; 01JUN2015&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAY2016&lt;/P&gt;
&lt;P&gt;H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01MAR2016&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;31MAY2016&amp;nbsp;&amp;nbsp; 01MAR2016&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31MAY2016&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your help.&lt;/P&gt;</description>
      <pubDate>Thu, 02 Mar 2017 15:59:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Combine-Compare-continuous-date-segments/m-p/337424#M76615</guid>
      <dc:creator>SASTad</dc:creator>
      <dc:date>2017-03-02T15:59:24Z</dc:date>
    </item>
    <item>
      <title>Re: Combine/Compare continuous date segments</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Combine-Compare-continuous-date-segments/m-p/337528#M76651</link>
      <description>&lt;P&gt;The following will work with your test data:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data want (drop=_:);
  set have (rename=(act_bgn=_act_bgn));
  format ACT_BGN date9.;
  retain ACT_BGN;
  by MEM_ID;
  set have ( firstobs = 2 keep = act_bgn rename = (act_bgn = _Next_act_bgn) )
      have (      obs = 1 drop = _all_                                     );
  if first.MEM_ID then act_bgn=_act_bgn;
  if act_end+1 ne _Next_act_bgn then do;
    output;
    act_bgn=_Next_act_bgn;
  end;
run;
&lt;/PRE&gt;
&lt;P&gt;HTH,&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Mar 2017 19:43:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Combine-Compare-continuous-date-segments/m-p/337528#M76651</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-03-02T19:43:06Z</dc:date>
    </item>
    <item>
      <title>Re: Combine/Compare continuous date segments</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Combine-Compare-continuous-date-segments/m-p/337548#M76661</link>
      <description>&lt;P&gt;Thank you so much. This works brilliantly.&lt;/P&gt;</description>
      <pubDate>Thu, 02 Mar 2017 20:21:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Combine-Compare-continuous-date-segments/m-p/337548#M76661</guid>
      <dc:creator>SASTad</dc:creator>
      <dc:date>2017-03-02T20:21:59Z</dc:date>
    </item>
  </channel>
</rss>

