<?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: LOCF in a dataset in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108564#M30272</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just confirming...you have two datasets (have and LOCF).&amp;nbsp; Both have a column called subjid which relates records...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;create table want as&lt;/P&gt;&lt;P&gt;select&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.subjid,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.visit,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.sys,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coalesce(t2.response, t1.response) as response&lt;/P&gt;&lt;P&gt;from&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; have t1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; left outer join locf t2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on t1.subjid=t2.subjid&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 15 Apr 2013 17:22:36 GMT</pubDate>
    <dc:creator>DBailey</dc:creator>
    <dc:date>2013-04-15T17:22:36Z</dc:date>
    <item>
      <title>LOCF in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108561#M30269</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone, I've got the next dataset (have), and I would like to generate a dataset (want) populating the RESPONSE&lt;/P&gt;&lt;P&gt;variable with the LOCF (capital in my final dataset (want)), rather than no change:&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thnaks in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;V.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;length subjid visit 8. sys response $10;&lt;/P&gt;&lt;P&gt;input subjid visit $ sys $ response;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;1 1 body normal&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;1 2 body abnormal&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;1 3 body no change&lt;/P&gt;&lt;P&gt;1 1 heart normal&lt;/P&gt;&lt;P&gt;1 2 heart no change&lt;/P&gt;&lt;P&gt;1 3 heart no change&lt;/P&gt;&lt;P&gt;2 1 body&amp;nbsp; normal&lt;/P&gt;&lt;P&gt;2 2 body&amp;nbsp; abnormal&lt;/P&gt;&lt;P&gt;2 3 body&amp;nbsp; no change&lt;/P&gt;&lt;P&gt;2 4 body&amp;nbsp; no change&lt;/P&gt;&lt;P&gt;2 5 body&amp;nbsp; no change&lt;/P&gt;&lt;P&gt;2 6 body&amp;nbsp; no change &lt;/P&gt;&lt;P&gt;2 7 body&amp;nbsp; normal&lt;/P&gt;&lt;P&gt;2 1 heart not done&lt;/P&gt;&lt;P&gt;2 2 heart normal&lt;/P&gt;&lt;P&gt;2 3 heart no change&lt;/P&gt;&lt;P&gt;;&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;This is the dataset WANT I would like to create (notice now than the no change values has been changed by the LOCF records)&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1 1 body normal&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;1 2 body abnormal&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;1 3 body ABNORMAL&lt;/P&gt;&lt;P&gt;1 1 heart normal&lt;/P&gt;&lt;P&gt;1 2 heart NORMAL&lt;/P&gt;&lt;P&gt;1 3 heart NORMAL&lt;/P&gt;&lt;P&gt;2 1 body&amp;nbsp; normal&lt;/P&gt;&lt;P&gt;2 2 body&amp;nbsp; abnormal&lt;/P&gt;&lt;P&gt;2 3 body&amp;nbsp; ABNORMAL&lt;/P&gt;&lt;P&gt;2 4 body&amp;nbsp; ABNORMAL&lt;/P&gt;&lt;P&gt;2 5 body&amp;nbsp; ABNORMAL&lt;/P&gt;&lt;P&gt;2 6 body&amp;nbsp; ABNORMAL&lt;/P&gt;&lt;P&gt;2 7 body&amp;nbsp; normal&lt;/P&gt;&lt;P&gt;2 1 heart not done&lt;/P&gt;&lt;P&gt;2 2 heart normal&lt;/P&gt;&lt;P&gt;2 3 heart NORMAL&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Apr 2013 16:22:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108561#M30269</guid>
      <dc:creator>michtka</dc:creator>
      <dc:date>2013-04-15T16:22:16Z</dc:date>
    </item>
    <item>
      <title>Re: LOCF in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108562#M30270</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input subjid visit $ sys $ response :&amp;amp;$20.;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;1 1 body normal&amp;nbsp; &lt;/P&gt;&lt;P&gt;1 2 body abnormal&amp;nbsp; &lt;/P&gt;&lt;P&gt;1 3 body no change&lt;/P&gt;&lt;P&gt;1 1 heart normal&lt;/P&gt;&lt;P&gt;1 2 heart no change&lt;/P&gt;&lt;P&gt;1 3 heart no change&lt;/P&gt;&lt;P&gt;2 1 body normal&lt;/P&gt;&lt;P&gt;2 2 body abnormal&lt;/P&gt;&lt;P&gt;2 3 body no change&lt;/P&gt;&lt;P&gt;2 4 body no change&lt;/P&gt;&lt;P&gt;2 5 body no change&lt;/P&gt;&lt;P&gt;2 6 body no change &lt;/P&gt;&lt;P&gt;2 7 body normal&lt;/P&gt;&lt;P&gt;2 1 heart not done&lt;/P&gt;&lt;P&gt;2 2 heart normal&lt;/P&gt;&lt;P&gt;2 3 heart no change&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; length _t $20.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain _t;&lt;/P&gt;&lt;P&gt;&amp;nbsp; response=ifc(response='no change', _t, response);&lt;/P&gt;&lt;P&gt;_t=upcase(response);&lt;/P&gt;&lt;P&gt;drop _t;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Apr 2013 16:48:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108562#M30270</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-04-15T16:48:06Z</dc:date>
    </item>
    <item>
      <title>Re: LOCF in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108563#M30271</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Hai.kuo, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pleas,e could you supply ifc for another SAS code, because this function is not working in SAS 9.0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Apr 2013 16:54:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108563#M30271</guid>
      <dc:creator>michtka</dc:creator>
      <dc:date>2013-04-15T16:54:00Z</dc:date>
    </item>
    <item>
      <title>Re: LOCF in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108564#M30272</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just confirming...you have two datasets (have and LOCF).&amp;nbsp; Both have a column called subjid which relates records...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;create table want as&lt;/P&gt;&lt;P&gt;select&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.subjid,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.visit,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.sys,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coalesce(t2.response, t1.response) as response&lt;/P&gt;&lt;P&gt;from&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; have t1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; left outer join locf t2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on t1.subjid=t2.subjid&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Apr 2013 17:22:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108564#M30272</guid>
      <dc:creator>DBailey</dc:creator>
      <dc:date>2013-04-15T17:22:36Z</dc:date>
    </item>
    <item>
      <title>Re: LOCF in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108565#M30273</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;DBaile, I only have 1 dataset, the dataset HAVE, the other dataset need to be created using LOCF instead of "no change".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hai.kuo gave the solution using the function retain and ifc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;V.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Apr 2013 17:37:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108565#M30273</guid>
      <dc:creator>michtka</dc:creator>
      <dc:date>2013-04-15T17:37:23Z</dc:date>
    </item>
    <item>
      <title>Re: LOCF in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108566#M30274</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Usually ifn() or ifc() can be replace by 'if then; else;', In your case, it turned out IFC() is not making code more precise, as the 'else' part is not needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; length _t $20.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain _t;&lt;/P&gt;&lt;P&gt;/* response=ifc(response='no change', _t, response);*/&lt;/P&gt;&lt;P&gt;&amp;nbsp; if response='no change' then response=_t;&lt;/P&gt;&lt;P&gt;_t=upcase(response);&lt;/P&gt;&lt;P&gt;drop _t;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Apr 2013 17:41:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108566#M30274</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-04-15T17:41:37Z</dc:date>
    </item>
    <item>
      <title>Re: LOCF in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108567#M30275</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Brilliant, I just worked out how the ifn or ifc works, and I arrived to the same conclusion than yours, the else part is not needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;V.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Apr 2013 17:47:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/LOCF-in-a-dataset/m-p/108567#M30275</guid>
      <dc:creator>michtka</dc:creator>
      <dc:date>2013-04-15T17:47:56Z</dc:date>
    </item>
  </channel>
</rss>

