<?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-assign values for consecutive obs in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/re-assign-values-for-consecutive-obs/m-p/119414#M32907</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I'm a beginner of SAS. Could anyone help me out? Thank you!&lt;/P&gt;&lt;P&gt;Here is a sample dataset. I have data with patientID, year and month.&lt;/P&gt;&lt;P&gt;PatientID&amp;nbsp; Year Month&lt;BR /&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 1&lt;BR /&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 2&lt;BR /&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 3&lt;BR /&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 8&lt;BR /&gt;M2350Y&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 7&lt;BR /&gt;I4656Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;&lt;P&gt;I4656Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp;&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;The final dataset I need is, in the final dataset, if a patient has consecutive month, then&lt;BR /&gt;just keep one record and create earlist month and latest month columns (e.g. for K1234T,min_Month=1 ,max_Month=3).If not consecutive month, min_Month=max_Month=Month for this record.&lt;/P&gt;&lt;P&gt;So the final dataset would like:&lt;BR /&gt;PatientID&amp;nbsp; Year min_Month max_Month&lt;BR /&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;BR /&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;BR /&gt;M2350Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&lt;BR /&gt;I4656Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;&lt;P&gt;I4656Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 21 Oct 2013 22:01:08 GMT</pubDate>
    <dc:creator>deleted_user</dc:creator>
    <dc:date>2013-10-21T22:01:08Z</dc:date>
    <item>
      <title>re-assign values for consecutive obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/re-assign-values-for-consecutive-obs/m-p/119414#M32907</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I'm a beginner of SAS. Could anyone help me out? Thank you!&lt;/P&gt;&lt;P&gt;Here is a sample dataset. I have data with patientID, year and month.&lt;/P&gt;&lt;P&gt;PatientID&amp;nbsp; Year Month&lt;BR /&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 1&lt;BR /&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 2&lt;BR /&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 3&lt;BR /&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 8&lt;BR /&gt;M2350Y&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 7&lt;BR /&gt;I4656Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;&lt;P&gt;I4656Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp;&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;The final dataset I need is, in the final dataset, if a patient has consecutive month, then&lt;BR /&gt;just keep one record and create earlist month and latest month columns (e.g. for K1234T,min_Month=1 ,max_Month=3).If not consecutive month, min_Month=max_Month=Month for this record.&lt;/P&gt;&lt;P&gt;So the final dataset would like:&lt;BR /&gt;PatientID&amp;nbsp; Year min_Month max_Month&lt;BR /&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;BR /&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;BR /&gt;M2350Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&lt;BR /&gt;I4656Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;&lt;P&gt;I4656Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Oct 2013 22:01:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/re-assign-values-for-consecutive-obs/m-p/119414#M32907</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2013-10-21T22:01:08Z</dc:date>
    </item>
    <item>
      <title>Re: re-assign values for consecutive obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/re-assign-values-for-consecutive-obs/m-p/119415#M32908</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What would the desired output be for:&lt;/P&gt;&lt;P&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2013&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;Consecutive months across the year boundary?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Oct 2013 22:05:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/re-assign-values-for-consecutive-obs/m-p/119415#M32908</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2013-10-21T22:05:29Z</dc:date>
    </item>
    <item>
      <title>Re: re-assign values for consecutive obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/re-assign-values-for-consecutive-obs/m-p/119416#M32909</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My data only have&amp;nbsp; year 2012, no other year.&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Oct 2013 22:10:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/re-assign-values-for-consecutive-obs/m-p/119416#M32909</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2013-10-21T22:10:23Z</dc:date>
    </item>
    <item>
      <title>Re: re-assign values for consecutive obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/re-assign-values-for-consecutive-obs/m-p/119417#M32910</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This works for your presented data:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input patientid :$8. year month;&lt;/P&gt;&lt;P&gt;cards; &lt;/P&gt;&lt;P&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;K1234T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 8&lt;/P&gt;&lt;P&gt;M2350Y&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp; 7&lt;/P&gt;&lt;P&gt;I4656Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;&lt;P&gt;I4656Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp;&amp;nbsp; 10&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; do until (last.patientid);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by patientid notsorted;&lt;/P&gt;&lt;P&gt;if first.patientid then do; min=month; max=month; _mon=month;end;&lt;/P&gt;&lt;P&gt;else if month-_mon=1 then do; max=month; _mon=month;end;&lt;/P&gt;&lt;P&gt;else if month-_mon&amp;gt;1 then do; output; min=month; max=month; _mon=month;end;&lt;/P&gt;&lt;P&gt;if last.patientid then output;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;drop month _:;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, if you have more than one year of data, then you need &lt;/P&gt;&lt;P&gt;1) Concatenated year and month to make a SAS date variable&lt;/P&gt;&lt;P&gt;2) Use intck() to get the difference. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Oct 2013 00:18:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/re-assign-values-for-consecutive-obs/m-p/119417#M32910</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-10-22T00:18:22Z</dc:date>
    </item>
    <item>
      <title>Re: re-assign values for consecutive obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/re-assign-values-for-consecutive-obs/m-p/119418#M32911</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Haikuo, thank you very much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Oct 2013 16:29:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/re-assign-values-for-consecutive-obs/m-p/119418#M32911</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2013-10-23T16:29:31Z</dc:date>
    </item>
  </channel>
</rss>

