<?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: multiple duplicate observations in a column of a char var.- want to condense this in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/multiple-duplicate-observations-in-a-column-of-a-char-var-want/m-p/180477#M265086</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So do you need the time field at all?&amp;nbsp; If not then you can do this very simple by doing a nodupkey:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=yourfile nodupkey out=yourfile2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by pat_id sequence;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you need to keep that time then you could do something like this:&lt;/P&gt;&lt;P&gt;proc sort data=yourfile;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by sequence pat_id time;&lt;/P&gt;&lt;P&gt;data yourfile2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set yourfile;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by sequence pat_id time;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if first.pat_id;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 15 Apr 2014 19:26:42 GMT</pubDate>
    <dc:creator>sashelpwanted</dc:creator>
    <dc:date>2014-04-15T19:26:42Z</dc:date>
    <item>
      <title>multiple duplicate observations in a column of a char var.- want to condense this</title>
      <link>https://communities.sas.com/t5/SAS-Programming/multiple-duplicate-observations-in-a-column-of-a-char-var-want/m-p/180476#M265085</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I currently have a dataset that looks like this:&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="192"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="17" width="64"&gt;pat_id&lt;/TD&gt;&lt;TD width="64"&gt;time&lt;/TD&gt;&lt;TD width="64"&gt;sequence&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;TD&gt;MS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;3&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;5&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;6&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;7&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;8&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;9&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;TD&gt;MST&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;3&lt;/TD&gt;&lt;TD&gt;ST&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;TD&gt;MT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;5&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;6&lt;/TD&gt;&lt;TD&gt;MS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;7&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;8&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;9&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to make it so that whenever there is a repeat observation from line to line it only records the first observation of that value. I'm looking speciifcally at the sequence variable. For example, I would like to keep only the first three rows of data for patient 1, so I would like to basically get rid of all the 'M' observations for time 4-10. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ultimately I would like to transpose the data and make a string variable, so I'd like to get my final dataset to look like this, but I'm hung up on the above part....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" height="97" style="width: 237px; height: 99px;" width="235"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="17" width="64"&gt;pat_id&lt;/TD&gt;&lt;TD width="64"&gt;sequence&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;1&lt;/TD&gt;&lt;TD&gt;M-MS-M&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="17"&gt;2&lt;/TD&gt;&lt;TD&gt;M-MST-ST-MT-M-MS-S&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any thoughts? Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Apr 2014 19:16:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/multiple-duplicate-observations-in-a-column-of-a-char-var-want/m-p/180476#M265085</guid>
      <dc:creator>jcooper3</dc:creator>
      <dc:date>2014-04-15T19:16:49Z</dc:date>
    </item>
    <item>
      <title>Re: multiple duplicate observations in a column of a char var.- want to condense this</title>
      <link>https://communities.sas.com/t5/SAS-Programming/multiple-duplicate-observations-in-a-column-of-a-char-var-want/m-p/180477#M265086</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So do you need the time field at all?&amp;nbsp; If not then you can do this very simple by doing a nodupkey:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=yourfile nodupkey out=yourfile2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by pat_id sequence;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you need to keep that time then you could do something like this:&lt;/P&gt;&lt;P&gt;proc sort data=yourfile;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by sequence pat_id time;&lt;/P&gt;&lt;P&gt;data yourfile2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set yourfile;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by sequence pat_id time;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if first.pat_id;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Apr 2014 19:26:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/multiple-duplicate-observations-in-a-column-of-a-char-var-want/m-p/180477#M265086</guid>
      <dc:creator>sashelpwanted</dc:creator>
      <dc:date>2014-04-15T19:26:42Z</dc:date>
    </item>
    <item>
      <title>Re: multiple duplicate observations in a column of a char var.- want to condense this</title>
      <link>https://communities.sas.com/t5/SAS-Programming/multiple-duplicate-observations-in-a-column-of-a-char-var-want/m-p/180478#M265087</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks, sashelpwanted! &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't really care about the exact time (ie. what exact time value), but I'm trying to keep the order. So if you look at patient 1, when I try to nodupkey option, I lose the piece when the patient starts taking 'M' again, meaning I lose what happens during time 3-10. When I try the other option you recommend, it only gives me the first observation per patient. Ideally, I would like the first observation whenever there's a change in the sequence, if that makes any sense. Thank you. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Apr 2014 19:35:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/multiple-duplicate-observations-in-a-column-of-a-char-var-want/m-p/180478#M265087</guid>
      <dc:creator>jcooper3</dc:creator>
      <dc:date>2014-04-15T19:35:04Z</dc:date>
    </item>
    <item>
      <title>Re: multiple duplicate observations in a column of a char var.- want to condense this</title>
      <link>https://communities.sas.com/t5/SAS-Programming/multiple-duplicate-observations-in-a-column-of-a-char-var-want/m-p/180479#M265088</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Use the notsorted option on your by statement and append the first time you see a new sequence. Output on the last patient ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;input pat_id&amp;nbsp;&amp;nbsp;&amp;nbsp; time&amp;nbsp;&amp;nbsp;&amp;nbsp; sequence $;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; M&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; MS&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; M&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; M&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp; M&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; M&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp; M&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp; M&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp; M&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; M&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; M&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; MST&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; ST&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; MT&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp; M&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; MS&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp; S&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp; S&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp; S&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; S&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;data want;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;by pat_id sequence notsorted;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;length full_sequence $200.;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;retain full_sequence;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if first.pat_id then full_sequence='';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if first.sequence then full_sequence=catx("-", full_sequence, sequence);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if last.pat_id then output;&lt;/P&gt;&lt;P&gt;keep pat_id full_sequence;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Apr 2014 19:43:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/multiple-duplicate-observations-in-a-column-of-a-char-var-want/m-p/180479#M265088</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-04-15T19:43:42Z</dc:date>
    </item>
    <item>
      <title>Re: multiple duplicate observations in a column of a char var.- want to condense this</title>
      <link>https://communities.sas.com/t5/SAS-Programming/multiple-duplicate-observations-in-a-column-of-a-char-var-want/m-p/180480#M265089</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thank you, Reeza! This worked perfectly. much appreciated! &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Apr 2014 19:53:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/multiple-duplicate-observations-in-a-column-of-a-char-var-want/m-p/180480#M265089</guid>
      <dc:creator>jcooper3</dc:creator>
      <dc:date>2014-04-15T19:53:31Z</dc:date>
    </item>
  </channel>
</rss>

