<?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: Retain issue in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373644#M65239</link>
    <description>&lt;P&gt;Based on your revised requirements, here is a revised version of my suggested code:&lt;/P&gt;
&lt;PRE&gt;data want (drop=check checkdate);
  set have;
  retain check checkdate;
  by id;
  if first.id then check=0;
  if rat eq 'R' then do;
    check=1;
    checkdate=date;
  end;
  Def_flag=0;
  if check eq 1 then do;
    if intnx('month',input(put(checkdate,6.),yymmn6.),-11) le
       input(put(date,6.),yymmn6.) le
       input(put(checkdate,6.),yymmn6.) then Def_flag=1;
  end;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;</description>
    <pubDate>Thu, 06 Jul 2017 13:26:09 GMT</pubDate>
    <dc:creator>art297</dc:creator>
    <dc:date>2017-07-06T13:26:09Z</dc:date>
    <item>
      <title>Retain issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373607#M65226</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;I have this table without Def_flag colum. I want create&amp;nbsp;a new column&amp;nbsp;Def_flag with value "1" or "0" when&amp;nbsp;the value of column&amp;nbsp;"RAT" is equal to&amp;nbsp;R then 12 months before in colum Def_flag goes value "1" else "0". And for each ID must by separated. Result you can see below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;DATE&lt;/TD&gt;&lt;TD&gt;RAT&lt;/TD&gt;&lt;TD&gt;Def_flag&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201705&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201704&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201703&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201702&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201701&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201612&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201611&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201610&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201609&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201608&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201607&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201606&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201605&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201604&lt;/TD&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201603&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201602&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201601&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201512&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201511&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201510&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201509&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201508&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201507&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201506&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201505&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201504&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201503&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201502&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201501&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;201412&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201705&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201704&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201703&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201702&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201701&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201612&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201611&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201610&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201609&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201608&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201607&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201606&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201605&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201604&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201603&lt;/TD&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201602&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201601&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201512&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201511&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201510&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201509&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201508&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201507&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201506&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201505&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201504&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201503&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201502&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201501&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;201412&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can someone give me a help to create a data step?&lt;/P&gt;&lt;P&gt;Thanks!!!!&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jul 2017 12:56:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373607#M65226</guid>
      <dc:creator>jopo12345678</dc:creator>
      <dc:date>2017-07-06T12:56:39Z</dc:date>
    </item>
    <item>
      <title>Re: Retain issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373614#M65228</link>
      <description>&lt;P&gt;Sort the data in reverse, then when you hit R keep a counter and set the other varible, untested code - post test data as a datastep in future:&lt;/P&gt;
&lt;PRE&gt;proc sort data=have out=want;
  by id descending date;
run;

data want;
  set want;
  retain cnt def_flag;
  by id;
  if first.id or cnt &amp;gt; 12 then do;
    cnt=0;
    chk=0;
    def_flag=0;
  end;
  else if chk then do;
    cnt=cnt+1;
    def_flag=1;
  end;
  else if rat="R" then do;
    chk=1;
    cnt=1;
    def_flag=1;
  end;
run;
&lt;/PRE&gt;</description>
      <pubDate>Thu, 06 Jul 2017 12:01:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373614#M65228</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-07-06T12:01:59Z</dc:date>
    </item>
    <item>
      <title>Re: Retain issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373623#M65229</link>
      <description>&lt;P&gt;Solution will depend upon whether date is a date field, a number that looks like a date, or a character field that looks like a numeric date.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is a method of a number that looks like a date:&lt;/P&gt;
&lt;PRE&gt;data want;
  do until (last.id);
    set have;
    by id;
    if rat eq 'R' then check=date;
  end;
  do until (last.id);
    set have;
    by id;
    if intnx('month',input(put(check,6.),yymmn6.),-11) le
       input(put(date,6.),yymmn6.) le
       intnx('month',input(put(check,6.),yymmn6.),11) then Def_flag=1;
    else Def_flag=0;
    output;
  end;
run;

&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jul 2017 12:35:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373623#M65229</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-07-06T12:35:31Z</dc:date>
    </item>
    <item>
      <title>Re: Retain issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373625#M65230</link>
      <description>&lt;P&gt;I posted excel data&amp;nbsp;and there is result colum how it should look like. The code is working but value "1" goes to 17 rows insted 12. I made screen of my data.&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jul 2017 12:40:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373625#M65230</guid>
      <dc:creator>jopo12345678</dc:creator>
      <dc:date>2017-07-06T12:40:39Z</dc:date>
    </item>
    <item>
      <title>Re: Retain issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373629#M65232</link>
      <description>&lt;P&gt;It is&amp;nbsp;numeric field that looks like a&amp;nbsp; date.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;IMG title="foto.PNG" alt="foto.PNG" src="https://communities.sas.com/t5/image/serverpage/image-id/10173iF9BE2FB69F1F110D/image-size/original?v=1.0&amp;amp;px=-1" border="0" /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jul 2017 12:54:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373629#M65232</guid>
      <dc:creator>jopo12345678</dc:creator>
      <dc:date>2017-07-06T12:54:50Z</dc:date>
    </item>
    <item>
      <title>Re: Retain issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373630#M65233</link>
      <description>&lt;P&gt;Can the same ID have more than one "R" observation?&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jul 2017 12:48:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373630#M65233</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-07-06T12:48:08Z</dc:date>
    </item>
    <item>
      <title>Re: Retain issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373633#M65234</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;IMG title="foto2.PNG" alt="foto2.PNG" src="https://communities.sas.com/t5/image/serverpage/image-id/10174iC909B50777F23D06/image-size/original?v=1.0&amp;amp;px=-1" border="0" /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the&amp;nbsp;screen&amp;nbsp;as result of your code.&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jul 2017 12:50:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373633#M65234</guid>
      <dc:creator>jopo12345678</dc:creator>
      <dc:date>2017-07-06T12:50:14Z</dc:date>
    </item>
    <item>
      <title>Re: Retain issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373634#M65235</link>
      <description>&lt;P&gt;Yes it can have more the one "R" observation.&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jul 2017 12:51:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373634#M65235</guid>
      <dc:creator>jopo12345678</dc:creator>
      <dc:date>2017-07-06T12:51:17Z</dc:date>
    </item>
    <item>
      <title>Re: Retain issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373643#M65238</link>
      <description>&lt;P&gt;Here's an approach that can handle multiple "R" records within the same ID.&amp;nbsp; First, create a map that shows every conceivable record that should be flagged:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data flag_me;&lt;/P&gt;
&lt;P&gt;set have (keep=id rat);&lt;/P&gt;
&lt;P&gt;if rat='R' ;&lt;/P&gt;
&lt;P&gt;do obsno = _N_ - 12 to _N_ + 12;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; start = catx('+', id, obsno);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;keep start;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This list can include some duplicates, and can include some combinations that won't actually appear in the data.&amp;nbsp; Those situations won't cause a problem.&amp;nbsp; Next, dedup:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=flag_me nodupkey;&lt;/P&gt;
&lt;P&gt;by start;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then add the rest of the information needed to convert ID + _N_ into a format:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data flag_me;&lt;/P&gt;
&lt;P&gt;set flag_me end=done;&lt;/P&gt;
&lt;P&gt;retain&amp;nbsp; fmtname '$def_flag';&lt;/P&gt;
&lt;P&gt;label='1' ;&lt;/P&gt;
&lt;P&gt;output;&lt;/P&gt;
&lt;P&gt;if done;&lt;/P&gt;
&lt;P&gt;hlo='O' ;&lt;/P&gt;
&lt;P&gt;label='0' ;&lt;/P&gt;
&lt;P&gt;output;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc format cntlin=flag_me;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Finally, apply the format:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;def_flag = put( catx('+', id, _n_), $def_flag.);&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is untested at the moment, I'm hoping I can get to that later.&amp;nbsp; And it creates DEF_FLAG as a character field.&amp;nbsp; It can be converted to numeric applying the INPUT function, or alternatively the program could create an INFORMAT instead of a FORMAT.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#ff0000"&gt;Sorry, disregard this.&amp;nbsp; It does what I intended it to do, but I was solving the wrong problem.&amp;nbsp; This flags up to 25 records per R:&amp;nbsp; the 12 before the "R", the 12 after the "R", and the "R" itself.&amp;nbsp; I will suggest something else as a separate response.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jul 2017 13:35:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373643#M65238</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-07-06T13:35:55Z</dc:date>
    </item>
    <item>
      <title>Re: Retain issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373644#M65239</link>
      <description>&lt;P&gt;Based on your revised requirements, here is a revised version of my suggested code:&lt;/P&gt;
&lt;PRE&gt;data want (drop=check checkdate);
  set have;
  retain check checkdate;
  by id;
  if first.id then check=0;
  if rat eq 'R' then do;
    check=1;
    checkdate=date;
  end;
  Def_flag=0;
  if check eq 1 then do;
    if intnx('month',input(put(checkdate,6.),yymmn6.),-11) le
       input(put(date,6.),yymmn6.) le
       input(put(checkdate,6.),yymmn6.) then Def_flag=1;
  end;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jul 2017 13:26:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373644#M65239</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-07-06T13:26:09Z</dc:date>
    </item>
    <item>
      <title>Re: Retain issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373651#M65241</link>
      <description>&lt;P&gt;Here's an alternate solution that doesn't involve the dates.&amp;nbsp; For it to work, the dates have to be complete (no months skipped in the middle) and the observations have to be in order.&amp;nbsp; It just flags "R" observations and up to 12 observations following each "R" observation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;by id;&lt;/P&gt;
&lt;P&gt;if first.id then r_count=20;&lt;/P&gt;
&lt;P&gt;if rat='R' then r_count=0;&lt;/P&gt;
&lt;P&gt;r_count + 1;&lt;/P&gt;
&lt;P&gt;if r_count &amp;lt;= 13 then def_flag=1;&lt;/P&gt;
&lt;P&gt;else def_flag=0;&lt;/P&gt;
&lt;P&gt;drop r_count;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It wasn't 100% clear whether you wanted to flag the "R" record plus 12 additional records (which this does) or only 11 additional records (which your example illustrates).&amp;nbsp; But it's easy enough to change the "13" to "12" in this program if need be.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jul 2017 13:44:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Retain-issue/m-p/373651#M65241</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-07-06T13:44:39Z</dc:date>
    </item>
  </channel>
</rss>

