<?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 flag continous month? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422510#M103899</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;"&lt;SPAN&gt;I am hungry".. gotta love it &lt;span class="lia-unicode-emoji" title=":grinning_face_with_smiling_eyes:"&gt;😄&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 19 Dec 2017 21:41:56 GMT</pubDate>
    <dc:creator>PeterClemmensen</dc:creator>
    <dc:date>2017-12-19T21:41:56Z</dc:date>
    <item>
      <title>How to flag continous month?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422460#M103879</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a raw data and&amp;nbsp;not sure how to flag if service_from_date is not a continuous month.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;for example, from observation1-3, need flag=1; from observation 4-5, need flag=2; from observation 6-13, need flag=3.&lt;/P&gt;&lt;P&gt;observation 1-5 has a same provider, but there is a gap (not continuous) between observation 3 and 4.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;MEMBER_ID&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;SERVICE_FROM_DATE&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;SERVICE_THROUGH_DATE&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;SERVICE_PROVIDER_ID&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;01/05/2017&lt;/TD&gt;&lt;TD&gt;01/05/2017&lt;/TD&gt;&lt;TD&gt;64058469&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;02/24/2017&lt;/TD&gt;&lt;TD&gt;02/24/2017&lt;/TD&gt;&lt;TD&gt;64058469&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;03/08/2017&lt;/TD&gt;&lt;TD&gt;03/08/2017&lt;/TD&gt;&lt;TD&gt;64058469&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;07/10/2017&lt;/TD&gt;&lt;TD&gt;07/10/2017&lt;/TD&gt;&lt;TD&gt;64058469&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;08/21/2017&lt;/TD&gt;&lt;TD&gt;08/21/2017&lt;/TD&gt;&lt;TD&gt;64058469&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;03/25/2017&lt;/TD&gt;&lt;TD&gt;03/25/2017&lt;/TD&gt;&lt;TD&gt;64089900&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;04/30/2017&lt;/TD&gt;&lt;TD&gt;04/30/2017&lt;/TD&gt;&lt;TD&gt;64089900&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;05/28/2017&lt;/TD&gt;&lt;TD&gt;05/28/2017&lt;/TD&gt;&lt;TD&gt;64089900&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;06/25/2017&lt;/TD&gt;&lt;TD&gt;06/25/2017&lt;/TD&gt;&lt;TD&gt;64089900&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;07/23/2017&lt;/TD&gt;&lt;TD&gt;07/23/2017&lt;/TD&gt;&lt;TD&gt;64089900&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;08/20/2017&lt;/TD&gt;&lt;TD&gt;08/20/2017&lt;/TD&gt;&lt;TD&gt;64089900&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;09/24/2017&lt;/TD&gt;&lt;TD&gt;09/24/2017&lt;/TD&gt;&lt;TD&gt;64089900&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;10/22/2017&lt;/TD&gt;&lt;TD&gt;10/22/2017&lt;/TD&gt;&lt;TD&gt;64089900&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;wanted results:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;MEMBER_ID&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;START_DT&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;END__DT&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;SERVICE_PROVIDER_ID&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;01/05/2017&lt;/TD&gt;&lt;TD&gt;03/08/2017&lt;/TD&gt;&lt;TD&gt;64058469&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;07/10/2017&lt;/TD&gt;&lt;TD&gt;08/21/2017&lt;/TD&gt;&lt;TD&gt;64058469&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;03/25/2017&lt;/TD&gt;&lt;TD&gt;10/22/2017&lt;/TD&gt;&lt;TD&gt;64089900&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 19 Dec 2017 19:31:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422460#M103879</guid>
      <dc:creator>TigerAn</dc:creator>
      <dc:date>2017-12-19T19:31:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to flag continous month?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422469#M103880</link>
      <description>&lt;P&gt;is your definition of "continuous" that the month of service_from_date is exactly one month after the service_through_date from the previous record when the member_id and service_provider_id are the same?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since your results do not show any flag values it looks like you want to collapse the from and to period, correct?&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 19:55:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422469#M103880</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-12-19T19:55:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to flag continous month?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422478#M103882</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;input MEMBER_ID $ SERVICE_FROM_DATE :mmddyy10. SERVICE_THROUGH_DATE :mmddyy10. SERVICE_PROVIDER_ID $;&lt;BR /&gt;format SERVICE_FROM_DATE SERVICE_THROUGH_DATE mmddyy10.;&lt;BR /&gt;datalines;&lt;BR /&gt;ABC 01/05/2017 01/05/2017 64058469&lt;BR /&gt;ABC 02/24/2017 02/24/2017 64058469&lt;BR /&gt;ABC 03/08/2017 03/08/2017 64058469&lt;BR /&gt;ABC 07/10/2017 07/10/2017 64058469&lt;BR /&gt;ABC 08/21/2017 08/21/2017 64058469&lt;BR /&gt;ABC 03/25/2017 03/25/2017 64089900&lt;BR /&gt;ABC 04/30/2017 04/30/2017 64089900&lt;BR /&gt;ABC 05/28/2017 05/28/2017 64089900&lt;BR /&gt;ABC 06/25/2017 06/25/2017 64089900&lt;BR /&gt;ABC 07/23/2017 07/23/2017 64089900&lt;BR /&gt;ABC 08/20/2017 08/20/2017 64089900&lt;BR /&gt;ABC 09/24/2017 09/24/2017 64089900&lt;BR /&gt;ABC 10/22/2017 10/22/2017 64089900&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data want;&lt;BR /&gt;do n=1 by 1 until(last.member_id);&lt;BR /&gt;set have;&lt;BR /&gt;by MEMBER_ID SERVICE_FROM_DATE notsorted;&lt;BR /&gt;if n=1 then _start_DATE=SERVICE_FROM_DATE;&lt;BR /&gt;array temp(100);&lt;BR /&gt;array _temp2(100);&lt;BR /&gt;k=month(SERVICE_FROM_DATE);&lt;BR /&gt;retain grp 1;&lt;BR /&gt;k1=dif(k);&lt;BR /&gt;if k1 not in (1,.) then&lt;BR /&gt;do;&lt;BR /&gt;grp+1;&lt;BR /&gt;temp(n-1)=_start_DATE;&lt;BR /&gt;_start_DATE=SERVICE_FROM_DATE;&lt;BR /&gt;_temp2(n)=n-1;&lt;BR /&gt;end;&lt;BR /&gt;*output;&lt;BR /&gt;end;&lt;BR /&gt;do n1= 1 by 1 until(last.member_id);&lt;BR /&gt;set have;&lt;BR /&gt;by MEMBER_ID SERVICE_FROM_DATE notsorted;&lt;BR /&gt;if n1 in _temp2 then&lt;BR /&gt;do;&lt;BR /&gt;start_date=temp(n1);&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;end;&lt;BR /&gt;if last.member_id then do;&lt;BR /&gt;start_date=_start_DATE;&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;/P&gt;&lt;P&gt;format start_date _start_date mmddyy10.;&lt;BR /&gt;drop n temp: _temp: k: grp n:;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;sorry for lazy and unclean code, but you can. i'll see if i can clean after lunch. I am hungry&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 20:36:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422478#M103882</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2017-12-19T20:36:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to flag continous month?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422492#M103888</link>
      <description>&lt;P&gt;Better version:&lt;/P&gt;&lt;P&gt;NOTES: The code may require tweaking a bit as the service provider changes for the same member id. I trust if you are capable of maintaining this code, you certainly can tweak on your own. Nevertheless, should you face any discrepancies while testing, let me know. And of course, I am sure some super user will give a far better solution than this&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; have;&lt;/P&gt;&lt;P&gt;input MEMBER_ID $&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SERVICE_FROM_DATE :mmddyy10.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SERVICE_THROUGH_DATE :mmddyy10.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SERVICE_PROVIDER_ID $;&lt;/P&gt;&lt;P&gt;format SERVICE_FROM_DATE SERVICE_THROUGH_DATE mmddyy10.;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 01/05/2017 01/05/2017 64058469&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 02/24/2017 02/24/2017 64058469&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 03/08/2017 03/08/2017 64058469&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 07/10/2017 07/10/2017 64058469&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 08/21/2017 08/21/2017 64058469&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 03/25/2017 03/25/2017 64089900&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 04/30/2017 04/30/2017 64089900&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 05/28/2017 05/28/2017 64089900&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 06/25/2017 06/25/2017 64089900&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 07/23/2017 07/23/2017 64089900&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 08/20/2017 08/20/2017 64089900&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 09/24/2017 09/24/2017 64089900&lt;/P&gt;&lt;P&gt;ABC&amp;nbsp; 10/22/2017 10/22/2017 64089900&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; want(rename=(SERVICE_THROUGH_DATE=end_date));&lt;/P&gt;&lt;P&gt;retain MEMBER_ID start_date;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do _n=&lt;STRONG&gt;1&lt;/STRONG&gt; by &lt;STRONG&gt;1&lt;/STRONG&gt;&amp;nbsp; until(last.member_id);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by MEMBER_ID SERVICE_FROM_DATE notsorted;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if _n=&lt;STRONG&gt;1&lt;/STRONG&gt; then _start_DATE=SERVICE_FROM_DATE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array temp(&lt;STRONG&gt;100&lt;/STRONG&gt;) _temporary_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array _temp2(&lt;STRONG&gt;100&lt;/STRONG&gt;) _temporary_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _k=month(SERVICE_FROM_DATE);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retain _grp &lt;STRONG&gt;1&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _k1=dif(_k);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if _k1 not in (&lt;STRONG&gt;1&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;) then&lt;/P&gt;&lt;P&gt;&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; do;&lt;/P&gt;&lt;P&gt;&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; _grp+&lt;STRONG&gt;1&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&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; temp(_n-&lt;STRONG&gt;1&lt;/STRONG&gt;)=_start_DATE;&lt;/P&gt;&lt;P&gt;&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; _start_DATE=SERVICE_FROM_DATE;&lt;/P&gt;&lt;P&gt;&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; _temp2(_n)=_n-&lt;STRONG&gt;1&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&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; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do _n_= &lt;STRONG&gt;1&lt;/STRONG&gt; by &lt;STRONG&gt;1&lt;/STRONG&gt; until(last.member_id);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by MEMBER_ID SERVICE_FROM_DATE notsorted;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if _n_ in _temp2&amp;nbsp; then&lt;/P&gt;&lt;P&gt;&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; do;&lt;/P&gt;&lt;P&gt;&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; start_date=temp(_n_);&lt;/P&gt;&lt;P&gt;&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; output;&lt;/P&gt;&lt;P&gt;&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; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if last.member_id then&lt;/P&gt;&lt;P&gt;&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; do;&lt;/P&gt;&lt;P&gt;&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; start_date=_start_DATE;&lt;/P&gt;&lt;P&gt;&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; output;&lt;/P&gt;&lt;P&gt;&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; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&amp;nbsp;&lt;/P&gt;&lt;P&gt;format start_date mmddyy10.;&lt;/P&gt;&lt;P&gt;drop _: SERVICE_FROM_DATE;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 20:56:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422492#M103888</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2017-12-19T20:56:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to flag continous month?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422509#M103898</link>
      <description>&lt;P&gt;If you have SAS/ETS do something like this, since the creation of START_DT and END_DT really only depends on looking 1 obs back and 1 ahead &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc expand data=have out=have_ll method=none;
   by SERVICE_PROVIDER_ID;
   id SERVICE_FROM_DATE;
   convert SERVICE_FROM_DATE=lead_SERVICE_FROM_DATE / transformout=(lead 1);
   convert SERVICE_FROM_DATE=lag_SERVICE_FROM_DATE / transformout=(lag 1);
run;
   
data want(keep=MEMBER_ID START_DT END_DT SERVICE_PROVIDER_ID);
   format MEMBER_ID START_DT END_DT SERVICE_PROVIDER_ID;
   set have_ll;
   by SERVICE_PROVIDER_ID;
   monthback=month(SERVICE_FROM_DATE)-month(lag_SERVICE_FROM_DATE);
   monthforward=month(lead_SERVICE_FROM_DATE)-month(SERVICE_FROM_DATE);

   if first.SERVICE_PROVIDER_ID then START_DT=SERVICE_FROM_DATE;
   else if (monthback=1 and monthforward&amp;gt;1) or last.SERVICE_PROVIDER_ID then do;
      END_DT=SERVICE_THROUGH_DATE;
      output;
      START_DT=lead_SERVICE_FROM_DATE;
   end;

   retain START_DT;format START_DT END_DT mmddyy10.;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 21:47:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422509#M103898</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2017-12-19T21:47:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to flag continous month?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422510#M103899</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;"&lt;SPAN&gt;I am hungry".. gotta love it &lt;span class="lia-unicode-emoji" title=":grinning_face_with_smiling_eyes:"&gt;😄&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 21:41:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422510#M103899</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2017-12-19T21:41:56Z</dc:date>
    </item>
    <item>
      <title>Re: How to flag continous month?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422512#M103900</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31304"&gt;@PeterClemmensen&lt;/a&gt;&amp;nbsp;Yep indeed loved it . I can't miss the amazing subway's sub of the day oven roasted chicken topping with mayonnaise and hot sauce lol&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 21:47:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422512#M103900</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2017-12-19T21:47:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to flag continous month?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422519#M103905</link>
      <description>&lt;P&gt;I think that the following meets your specifications:&lt;/P&gt;
&lt;PRE&gt;data want (keep=MEMBER_ID START_DT END_DT SERVICE_PROVIDER_ID);
  set have;
  format START_DT END_DT mmddyy10.;
  by SERVICE_PROVIDER_ID;
  retain START_DT in_process;
  set have ( firstobs = 2 keep = SERVICE_FROM_DATE rename = (SERVICE_FROM_DATE = Next_Date) )
      have (      obs = 1 drop = _all_);
  if first.SERVICE_PROVIDER_ID or in_process eq 0 then do;
    in_process=1;
    START_DT=SERVICE_FROM_DATE;
  end;
  if last.SERVICE_PROVIDER_ID or intck('month',SERVICE_FROM_DATE,Next_Date) gt 1 then do;
    END_DT=SERVICE_THROUGH_DATE;
    output;
    in_process=0;
  end;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 22:25:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422519#M103905</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-12-19T22:25:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to flag continous month?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422520#M103906</link>
      <description>&lt;P&gt;Like this?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data WANT;
  retain START_DT;
  set HAVE end=LASTOBS;
  PREV_ST   =lag(SERVICE_FROM_DATE);
  PREV_END  =lag(SERVICE_THROUGH_DATE);
  PREV_PROV =lag(SERVICE_PROVIDER_ID);
  if _N_=1 then START_DT=SERVICE_FROM_DATE;
  if _N_&amp;gt;1;
  if   (month(PREV_ST) + 1 ne month(SERVICE_FROM_DATE) )
    or (      PREV_PROV    ne   SERVICE_PROVIDER_ID    )
    or LASTOBS then do;
    END_DT     = ifn(LASTOBS, SERVICE_THROUGH_DATE,PREV_END);
    PROVIDER_ID= ifn(LASTOBS, SERVICE_PROVIDER_ID ,PREV_PROV);
    output; 
    START_DT   = SERVICE_FROM_DATE;
  end;
  format  	START_DT	END_DT	date9.;
  keep MEMBER_ID	START_DT	END_DT	PROVIDER_ID;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.WANT" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="l header" scope="col"&gt;MEMBER_ID&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;START_DT&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;END_DT&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;PROVIDER_ID&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;ABC&lt;/TD&gt;
&lt;TD class="r data"&gt;05JAN2017&lt;/TD&gt;
&lt;TD class="r data"&gt;08MAR2017&lt;/TD&gt;
&lt;TD class="r data"&gt;64058469&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;ABC&lt;/TD&gt;
&lt;TD class="r data"&gt;10JUL2017&lt;/TD&gt;
&lt;TD class="r data"&gt;21AUG2017&lt;/TD&gt;
&lt;TD class="r data"&gt;64058469&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;ABC&lt;/TD&gt;
&lt;TD class="r data"&gt;25MAR2017&lt;/TD&gt;
&lt;TD class="r data"&gt;22OCT2017&lt;/TD&gt;
&lt;TD class="r data"&gt;64089900&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 22:31:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422520#M103906</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-12-19T22:31:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to flag continous month?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422523#M103907</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/16961"&gt;@ChrisNZ&lt;/a&gt;: Using lag or reading the next record (like I did)&amp;nbsp;accomplish the same thing. However, since you didn't use the INTCK function, your code will fail if the visits go across years. e.g.:&lt;/P&gt;
&lt;PRE&gt;data have;
  input MEMBER_ID $ SERVICE_FROM_DATE :mmddyy10. SERVICE_THROUGH_DATE :mmddyy10. SERVICE_PROVIDER_ID $;
  format SERVICE_FROM_DATE SERVICE_THROUGH_DATE mmddyy10.;
  datalines;
ABC 01/05/2017 01/05/2017 64058469
ABC 02/24/2017 02/24/2017 64058469
ABC 03/08/2017 03/08/2017 64058469
ABC 07/10/2017 07/10/2017 64058469
ABC 08/21/2017 08/21/2017 64058469
ABC 03/25/2017 03/25/2017 64089900
ABC 04/30/2017 04/30/2017 64089900
ABC 05/28/2017 05/28/2017 64089900
ABC 06/25/2017 06/25/2017 64089900
ABC 07/23/2017 07/23/2017 64089900
ABC 08/20/2017 08/20/2017 64089900
ABC 09/24/2017 09/24/2017 64089900
ABC 10/22/2017 10/22/2017 64089900
ABC 11/22/2017 11/22/2017 64089900
ABC 12/22/2017 12/22/2017 64089900
ABC 01/22/2018 01/22/2018 64089900
ABC 02/22/2018 02/22/2018 64089900
;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 22:43:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422523#M103907</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-12-19T22:43:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to flag continous month?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422588#M103926</link>
      <description>&lt;P&gt;True. I just wanted to supply a much shorter data&amp;nbsp;step than the 2 above, which were the only 2 when I started replying..&lt;/P&gt;</description>
      <pubDate>Wed, 20 Dec 2017 04:39:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-flag-continous-month/m-p/422588#M103926</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-12-20T04:39:00Z</dc:date>
    </item>
  </channel>
</rss>

