<?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 question in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171507#M32995</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That worked! Thank you...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 16 Feb 2015 22:33:18 GMT</pubDate>
    <dc:creator>FrankReynolds</dc:creator>
    <dc:date>2015-02-16T22:33:18Z</dc:date>
    <item>
      <title>RETAIN question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171496#M32984</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there, I am interested in modifying my dataset in a way that I believe needs a RETAIN function. But it is not yielding what I want. I have a series of observations that represent a doctor visit. One of the variables is a patient ID number (patient_ID). If the same patient ID number occurs under multiple observations, then the same person has had multiple visits to the doctor. There is also a variable that identifies the date the visit occured(date). There is a 3rd variable that indicates if the visit was a 5:30 or after visit(evening),a (1,0) variable where 1 indicates a visit at or after 5:30.&lt;/P&gt;&lt;P&gt;I've sorted the observations by ascending patient ID number and then ascending visit date. I am interested only in the visit that occurs after 5:30, and any visits for that patient thereafter. So if the first two visits occur at 3:00 and 4:00, and the 3rd 4th and 5th at 5:45, 2:00, 12:00 respectably, I am only interested in the 3rd 4th and 5th visits.I want to "mark" these visits by creating a new variable that =1 for these observations (=0 for the non-relevant observations). I'm thinking a RETAIN function is the way to go, but doesn't seem to be working:&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;data new;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt; set old;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt; by patient_id date;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt; retain indicator; &lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;if first.patient_id and evening=1 then do; &lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;indicator = 1 ;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt; end;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt; else if evening = 1 then do;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt; indicator2=1;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt; end; &lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;run;&amp;nbsp; &lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;I would think this code would carry down, or RETAIN, the 1 to the next data line. Instead, it seems to reset to 0. The only observations in where indicator=1 are those observations where the evening=1, even though all those subsequent visits for that patient should be marked as 1....&lt;/P&gt;&lt;P&gt;Hope it is clear, let me know if it ain't!&lt;/P&gt;&lt;P&gt;TM&lt;/P&gt;&lt;DIV class="md"&gt;&lt;TEXTAREA cols="1" name="text" rows="1"&gt;Hi there,&amp;nbsp; I am interested in modifying my dataset in a way that I believe needs a RETAIN function. But it is not yielding what I want. I have a series of observations that represent a doctor visit. One of the variables is a patient ID number (patient_ID). If the same patient ID number occurs under multiple observations, then the same person has had multiple visits to the doctor. There is also a variable that identifies the date the visit occured(date). There is a 3rd variable that indicates if the visit was a 5:30 or after visit(evening),a (1,0) variable where 1 indicates a visit at or after 5:30.&amp;nbsp;&amp;nbsp;&amp;nbsp; I've sorted the observations by ascending patient ID number and then ascending visit date. I am interested only in the visit that occurs after 5:30, and any visits for that patient thereafter. So if the first two visits occur at 3:00 and 4:00, and the 3rd 4th and 5th at 5:45, 2:00, 12:00 respectably, I am only interested in the 3rd 4th and 5th visits.&amp;nbsp;&amp;nbsp;&amp;nbsp; I want to "mark" these visits by creating a new variable that =1 for these observations (=0 for the non-relevant observations). I'm thinking a RETAIN function is the way to go, but doesn't seem to be working:&amp;nbsp;&amp;nbsp;&amp;nbsp; data new;&amp;nbsp; set old;&amp;nbsp; by patient_id&amp;nbsp; date;&amp;nbsp; retain indicator;&amp;nbsp; if first.patient_id and&amp;nbsp; evening=1 then do;&amp;nbsp; indicator = 1 ;&amp;nbsp; end;&amp;nbsp; else if evening = 1 then do;&amp;nbsp; indicator2=1;&amp;nbsp; end;&amp;nbsp; run;&amp;nbsp;&amp;nbsp;&amp;nbsp; I would think this code would carry down, or RETAIN, the 1 to the next data line. Instead, it seems to reset to 0. The only observations in where indicator=1 are those observations where the evening=1, even though all those subsequent visits for that patient should be marked as 1....&amp;nbsp;&amp;nbsp;&amp;nbsp; Hope it is clear, let me know if it ain't!&amp;nbsp;&amp;nbsp;&amp;nbsp; TM&lt;/TEXTAREA&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Feb 2015 19:44:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171496#M32984</guid>
      <dc:creator>FrankReynolds</dc:creator>
      <dc:date>2015-02-16T19:44:49Z</dc:date>
    </item>
    <item>
      <title>Re: RETAIN question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171497#M32985</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In you code indicator becomes 1 only if the first visit of a patient is evening. Indicator2 becomes 1 if there is an evening visit but not the first one. But evening2 is not retained!&lt;/P&gt;&lt;P&gt;What&amp;nbsp; about this:&lt;/P&gt;&lt;P&gt;data new;&lt;/P&gt;&lt;P&gt;set old;&lt;/P&gt;&lt;P&gt;by patient_id date;&lt;/P&gt;&lt;P&gt;retain indicator;&lt;/P&gt;&lt;P&gt;if first.patient_id then do;&lt;/P&gt;&lt;P&gt;indicator = 0;/*reseting indicator at every group beginning*/&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;if evening=1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; indicator=1;&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>Mon, 16 Feb 2015 20:15:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171497#M32985</guid>
      <dc:creator>gergely_batho</dc:creator>
      <dc:date>2015-02-16T20:15:29Z</dc:date>
    </item>
    <item>
      <title>Re: RETAIN question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171498#M32986</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gergely,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the response. There is a typo in the code above - there should only be an 'indicator' variable, not 'indicator2'...Whenever I try to edit it, it bugs out so I'm going to let it be.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me try out your approach and see what happens...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Feb 2015 20:26:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171498#M32986</guid>
      <dc:creator>FrankReynolds</dc:creator>
      <dc:date>2015-02-16T20:26:33Z</dc:date>
    </item>
    <item>
      <title>Re: RETAIN question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171499#M32987</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It doesn't work. It sets indicator=0 for the first observation, and any subsequent observation to 1, whether evening=1 or not. I'm guessing it is because of the lines-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if first.patient_id then do;&lt;/P&gt;&lt;P&gt;indicator = 0;/*reseting indicator at every group beginning*/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is indeed making indicator=0 if it is the first. Therefore, if it is not the first, it =1 by default.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Feb 2015 20:34:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171499#M32987</guid>
      <dc:creator>FrankReynolds</dc:creator>
      <dc:date>2015-02-16T20:34:36Z</dc:date>
    </item>
    <item>
      <title>Re: RETAIN question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171500#M32988</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Recommend adding PUTLOG '&amp;gt;DIAG-nnn' / _all_;&amp;nbsp;&amp;nbsp; statements at various points in the DATA step to reveal just what you are getting condition-wise with not only your flag variables but also your BY variable processing.&amp;nbsp; That will help with desk-checking your DATA step flow.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Feb 2015 20:47:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171500#M32988</guid>
      <dc:creator>sbb</dc:creator>
      <dc:date>2015-02-16T20:47:55Z</dc:date>
    </item>
    <item>
      <title>Re: RETAIN question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171501#M32989</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is nothing in your code that could set INDICATOR=0.&amp;nbsp; If you are seeing records where INDICATOR=0 then it must have been on you input dataset.&lt;/P&gt;&lt;P&gt;You need to either drop that old INDICATOR variable or use a new name for the new variable.&lt;/P&gt;&lt;P&gt;You cannot "RETAIN" a variable that is on the input data set because every time the SET statement executes it will read the value from the data set and not carry forward the value from the previous iteration of the data step.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Feb 2015 20:54:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171501#M32989</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-02-16T20:54:06Z</dc:date>
    </item>
    <item>
      <title>Re: RETAIN question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171502#M32990</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;CODE&gt;if first.patient_id and evening=1 then do; &lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;indicator = 1 ;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;end;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wouldn't this make any first observation where evening not equal to 0, have an indicator=0, or atleast '.' ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'Indicator' was not in the input data set, I believe I created it with this new dataset??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Feb 2015 21:08:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171502#M32990</guid>
      <dc:creator>FrankReynolds</dc:creator>
      <dc:date>2015-02-16T21:08:19Z</dc:date>
    </item>
    <item>
      <title>Re: RETAIN question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171503#M32991</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt; I am interested only in the visit that occurs after 5:30, and any visits for that patient thereafter. &lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;You need to reset the flag when you start a new patient.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;STRONG style="color: navy; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;data&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; new;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp; &lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; old;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp; &lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; patient_id date;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp; &lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;retain&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; indicator;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp; &lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; first.patient_id &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;then&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; indicator=&lt;/SPAN&gt;&lt;STRONG style="color: teal; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;0&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp; &lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; evening = &lt;/SPAN&gt;&lt;STRONG style="color: teal; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;1&lt;/STRONG&gt; &lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;then&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; indicator=&lt;/SPAN&gt;&lt;STRONG style="color: teal; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;1&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; background: white; font-size: 10.0pt; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Feb 2015 21:27:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171503#M32991</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-02-16T21:27:40Z</dc:date>
    </item>
    <item>
      <title>Re: RETAIN question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171504#M32992</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I understand your point, and it seems logical to me, but for some reason, the indicator only =1 for that specific observatin in where evening=1. FYI, when I write "any visits for that patient thereafter", I don't mean only subsequent visits after 5:30. These visits could be any time, and date, as long as they occur after that specific evening=1 observation. Let me give you an example of my output when I use your code, for the first patients set of visits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PATIENT_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EVENING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INDICATOR&lt;/P&gt;&lt;P&gt;1000&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; 1.24.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0&lt;/P&gt;&lt;P&gt;1000&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; 2.20.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0&lt;/P&gt;&lt;P&gt;1000&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; 3.30.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0&lt;/P&gt;&lt;P&gt;1000&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; 5.06.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&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; 1&lt;/P&gt;&lt;P&gt;1000&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; 6.11.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is that the last observation's indicator variable should =1, because it is a visit on a date that took place after the evening visit date. It should read:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PATIENT_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EVENING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INDICATOR&lt;/P&gt;&lt;P&gt;1000&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; 1.24.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0&lt;/P&gt;&lt;P&gt;1000&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; 2.20.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0&lt;/P&gt;&lt;P&gt;1000&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; 3.30.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0&lt;/P&gt;&lt;P&gt;1000&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; 5.06.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&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; 1&lt;/P&gt;&lt;P&gt;1000&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; 6.11.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 1&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Feb 2015 21:40:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171504#M32992</guid>
      <dc:creator>FrankReynolds</dc:creator>
      <dc:date>2015-02-16T21:40:39Z</dc:date>
    </item>
    <item>
      <title>Re: RETAIN question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171505#M32993</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Again the ONLY way that happens with the code posted is if the INDICATOR variable is ALREADY defined in the input dataset OLD.&lt;/P&gt;&lt;P&gt;Here is your data.&lt;/P&gt;&lt;P&gt;data old;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input patient_id date evening ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat date mmddyy10. ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format date yymmdd10.;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1000&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; 1.24.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0&lt;/P&gt;&lt;P&gt;1000&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; 2.20.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0&lt;/P&gt;&lt;P&gt;1000&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; 3.30.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0&lt;/P&gt;&lt;P&gt;1000&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; 5.06.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&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; 1&lt;/P&gt;&lt;P&gt;1000&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; 6.11.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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; 0&lt;/P&gt;&lt;P&gt;;;;;&lt;/P&gt;&lt;P&gt;data new ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set old ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by patient_id date ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain indicator ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if first.patient_id then indicator=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if evening=1 then indicator=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; put (_all_) (=);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;patient_id=1000 date=2010-01-24 evening=0 indicator=0&lt;/P&gt;&lt;P&gt;patient_id=1000 date=2010-02-20 evening=0 indicator=0&lt;/P&gt;&lt;P&gt;patient_id=1000 date=2010-03-30 evening=0 indicator=0&lt;/P&gt;&lt;P&gt;patient_id=1000 date=2010-05-06 evening=1 indicator=1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;patient_id=1000 date=2010-06-11 evening=0 indicator=1&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Feb 2015 21:46:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171505#M32993</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-02-16T21:46:39Z</dc:date>
    </item>
    <item>
      <title>Re: RETAIN question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171506#M32994</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Right...I'm starting to think it is something funky with the old dataset too. I've found a way around it for now, but I will go back and try again...More curious than anything.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks Tom.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Feb 2015 21:54:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171506#M32994</guid>
      <dc:creator>FrankReynolds</dc:creator>
      <dc:date>2015-02-16T21:54:06Z</dc:date>
    </item>
    <item>
      <title>Re: RETAIN question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171507#M32995</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That worked! Thank you...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Feb 2015 22:33:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/RETAIN-question/m-p/171507#M32995</guid>
      <dc:creator>FrankReynolds</dc:creator>
      <dc:date>2015-02-16T22:33:18Z</dc:date>
    </item>
  </channel>
</rss>

