<?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 Deleting one of the duplicate in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389237#M277506</link>
    <description>&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a dataset that looks like&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;id &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; event &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dob &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; res &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;date &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;........&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 month &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5/20/80 &amp;nbsp; &amp;nbsp; yes &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/30/17 &amp;nbsp; ..........&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 month &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; no &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;.&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3 month &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3 month &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 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 month &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;SPAN&gt;/22/80 &amp;nbsp; &amp;nbsp; no &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; .&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 month &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; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9/20/16&lt;/P&gt;&lt;P&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 month &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7&lt;SPAN&gt;/20/81 &amp;nbsp; &amp;nbsp; no &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;9/25/16&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3 month &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;. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3 month &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 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/P&gt;&lt;P&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;6 month &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;yes &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;10/3/16&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and so on...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to transpose this dataset to wide format,&amp;nbsp;but most subjects have duplicate 'event' value, so my usual transpose code did not work. I did:&lt;/P&gt;&lt;P&gt;proc transpose data=long1 out=wide1 prefix=res;&lt;/P&gt;&lt;P&gt;by id;&lt;/P&gt;&lt;P&gt;id event;&lt;/P&gt;&lt;P&gt;var res;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I went back to the original dataset and seems like one of the duplicate does not contain information in any of the variables except for 'id' and 'event'.&lt;/P&gt;&lt;P&gt;My question: is it possible to delete the duplicate event line that doesn't contain any information so I can use my transpose code??&lt;/P&gt;&lt;P&gt;Thank you!!&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 18 Aug 2017 21:43:06 GMT</pubDate>
    <dc:creator>michan22</dc:creator>
    <dc:date>2017-08-18T21:43:06Z</dc:date>
    <item>
      <title>Deleting one of the duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389237#M277506</link>
      <description>&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a dataset that looks like&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;id &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; event &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dob &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; res &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;date &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;........&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 month &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5/20/80 &amp;nbsp; &amp;nbsp; yes &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/30/17 &amp;nbsp; ..........&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 month &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; no &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;.&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3 month &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3 month &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 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 month &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;SPAN&gt;/22/80 &amp;nbsp; &amp;nbsp; no &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; .&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 month &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; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9/20/16&lt;/P&gt;&lt;P&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 month &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7&lt;SPAN&gt;/20/81 &amp;nbsp; &amp;nbsp; no &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;9/25/16&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3 month &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;. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3 month &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 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/P&gt;&lt;P&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;6 month &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;yes &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;10/3/16&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and so on...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to transpose this dataset to wide format,&amp;nbsp;but most subjects have duplicate 'event' value, so my usual transpose code did not work. I did:&lt;/P&gt;&lt;P&gt;proc transpose data=long1 out=wide1 prefix=res;&lt;/P&gt;&lt;P&gt;by id;&lt;/P&gt;&lt;P&gt;id event;&lt;/P&gt;&lt;P&gt;var res;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I went back to the original dataset and seems like one of the duplicate does not contain information in any of the variables except for 'id' and 'event'.&lt;/P&gt;&lt;P&gt;My question: is it possible to delete the duplicate event line that doesn't contain any information so I can use my transpose code??&lt;/P&gt;&lt;P&gt;Thank you!!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 18 Aug 2017 21:43:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389237#M277506</guid>
      <dc:creator>michan22</dc:creator>
      <dc:date>2017-08-18T21:43:06Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting one of the duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389250#M277507</link>
      <description>&lt;P&gt;First, define your rules. How exactly are you defining the rows that need to be deleted?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Second, sort the data&lt;/P&gt;
&lt;P&gt;Look at PROC SORT options to remove duplicate values.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 18 Aug 2017 22:14:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389250#M277507</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-08-18T22:14:25Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting one of the duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389260#M277508</link>
      <description>&lt;P&gt;I am aware of the proc sort option NODUP (compares all variables) and NODUPKEY (compares only the BY variable).&lt;/P&gt;&lt;P&gt;I want to delete the observation that has no value in the variables except for 'id' and 'event', in my example this would be the first line of the duplicate.&lt;/P&gt;&lt;P&gt;I thought about using the NODUPKEY option but that would delete the second duplicate correct?&lt;/P&gt;</description>
      <pubDate>Fri, 18 Aug 2017 22:34:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389260#M277508</guid>
      <dc:creator>michan22</dc:creator>
      <dc:date>2017-08-18T22:34:04Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting one of the duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389266#M277509</link>
      <description>&lt;P&gt;Yes and no. NODUPKEY keeps the first record.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So double sort. Sort first so that the records you want to keep are first. Then sort again using the NODUPKEY. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 18 Aug 2017 22:46:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389266#M277509</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-08-18T22:46:52Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting one of the duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389281#M277510</link>
      <description>&lt;P&gt;If you want to delete rows where &lt;STRONG&gt;all variables are missing except&lt;/STRONG&gt; id and event,&lt;/P&gt;
&lt;P&gt;you can do:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc transpose data=long1 
         (where=(dob ne . and status ne . and date ne . and res ne ' ' ...))
               out=wide1 prefix=res;
by id;
id event;
var res;
run;
 &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 19 Aug 2017 00:35:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389281#M277510</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-08-19T00:35:21Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting one of the duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389340#M277511</link>
      <description>&lt;P&gt;Thank you for the suggestion. It's good to know that I can use the WHERE option in proc transpose like this. I&amp;nbsp;have over 100 variables, it might take me a while to fill everything in!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 19 Aug 2017 19:02:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389340#M277511</guid>
      <dc:creator>michan22</dc:creator>
      <dc:date>2017-08-19T19:02:15Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting one of the duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389341#M277512</link>
      <description>&lt;P&gt;Thank you for the suggestion. Is there a way to sort the data so that the obeservations with missing information come second within the duplicate? I am still learning SAS... thanks!&lt;/P&gt;</description>
      <pubDate>Sat, 19 Aug 2017 19:05:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389341#M277512</guid>
      <dc:creator>michan22</dc:creator>
      <dc:date>2017-08-19T19:05:13Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting one of the duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389343#M277513</link>
      <description>&lt;P&gt;I agree that when there are so many variables it will be a sizific work to type the where staement manually,&lt;/P&gt;
&lt;P&gt;so it can be done programmatically:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; proc sql;
  create table vars as select name, type
  from dictionary.columns
  where libname='WORK' and memname='LONG1'
     and name not in('ID' 'EVENT');
quit;
data _NULL_;
 set vars end=eof;
   length whr $240;   /* you may need addapt length to needs */
   retain whr ;
   if _N_=1 then do;
      whr='where=(';
      if type='num' 
         then whr = catx(' ',whr,name,'ne .');
         else whr = catx(' ',whr,name,'ne " "');
   end; else do;
      if type='num' 
         then whr = catx(' ',whr,'or',name,'ne .');
         else whr = catx(' ',whr,'or',name,'ne " "');   
   end;
   if eof then do;&lt;BR /&gt;      whr = trim(whr)||')';&lt;BR /&gt;      call symput('whr',whr);&lt;BR /&gt;   end;
run;&lt;BR /&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;proc&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;transpose&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;long1 (&amp;amp;whr)
               out&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;wide1 prefix&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;res&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token statement"&gt;  by&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;id&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;  id&lt;/SPAN&gt; event&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;  var&lt;/SPAN&gt; res&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 19 Aug 2017 19:45:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389343#M277513</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-08-19T19:45:36Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting one of the duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389346#M277514</link>
      <description>&lt;P&gt;Your question:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/135827"&gt;@michan22&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Thank you for the suggestion. Is there a way to sort the data so that the obeservations with missing information come second within the duplicate? I am still learning SAS... thanks!&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Missing vallue is lower than any othe value, therefore while sorting by:&lt;/P&gt;
&lt;P&gt;(1) &amp;nbsp;by ID EVENT - you cannot know which of the duplicates will be first&lt;/P&gt;
&lt;P&gt;(2) &amp;nbsp;by ID EVENT varx - where varx is any selected variable - the missing vallue will come first&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(3) &amp;nbsp;by ID EVENT DESCENDING varx - in case that varx is missing but there may be other variables non missing&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;therefore you cannot assure that the all missing be the second&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;to summarise - the answer to your question, in this case, is NO.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Unless you check all variables to missing and assign seq_no = 2 if positive, otherwise seq_no = 1.&lt;/P&gt;</description>
      <pubDate>Sat, 19 Aug 2017 20:00:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389346#M277514</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-08-19T20:00:03Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting one of the duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389369#M277515</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/135827"&gt;@michan22&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;Please provide in the future sample data via a SAS data step as done in below code so we can test our code without having to spend time converting your data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below two options.&lt;/P&gt;
&lt;P&gt;- Option 1 will remove all rows where only ID and Event got values even if it's not a duplicate. It will keep all rows with values even if there are duplicates.&lt;/P&gt;
&lt;P&gt;- Option 2 keeps one row per by group with preference for non-missing values.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data LONG1;
 infile datalines dlm='|' truncover;
 input id event $ dob:anydtdte. res $ status $ date:anydtdte. ;
 format dob date date9.;
 datalines;
1|1 month|5/20/80|yes|.|5/30/17|..........
1|2 month|.|no|.|.
1|3 month|.|.|.|.
1|3 month|.|.|1|.
2|1 month|3/22/80|no|.|.
2|2 month|.|.|2|9/20/16
3|1 month|7/20/81|no|.|9/25/16
3|3 month|.|.|.|.
3|3 month|.|.|1|.
3|6 month|.|yes|1|10/3/16
3|7 month
;
run;

/* option 1: Keeps all rows where at least one non missing value */
proc sql noprint;
  select 
    name,
    count(name)
      into 
        :var_list separated by ',',
        :var_cnt
    from dictionary.columns
      where libname='WORK' and memname='LONG1'
        and upcase(name) not in('ID' 'EVENT');
quit;

%put %nrbquote(&amp;amp;=var_list);
%put %nrbquote(&amp;amp;=var_cnt);

proc transpose data=long1 
  (where=(cmiss(&amp;amp;var_list) ne &amp;amp;var_cnt))
  out=wide1 prefix=res;
  by id;
  id event;
  var res;
run;


/* option 2: Keeps one row per by group; preference for non-missing values */
proc sort data=long1 out=inter;
  by id event _all_;
run;

data deduped;
  set inter;
  by id event;
  if last.event;
run;

proc transpose data=deduped 
  out=wide2 prefix=res;
  by id;
  id event;
  var res;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 20 Aug 2017 01:35:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389369#M277515</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2017-08-20T01:35:12Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting one of the duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389447#M277516</link>
      <description>&lt;P&gt;If you know the total number of variables in your dataset, you don't have to list them. Use a SAS view to avoid creating a single use dataset:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input id event &amp;amp;$  dob $ res $ status date $;
datalines; 
1          1 month        5/20/80     yes             .               5/30/17
1          2 month          .               no             .                  .
1          3 month          .                .                .                 .
1          3 month          .                .               1                 .
2          1 month        3/22/80     no              .                 .
2          2 month          .               .                 2               9/20/16
3          1 month         7/20/81     no             .                9/25/16
3          3 month           .                .                .                 .
3          3 month           .                .                1                .
3          6 month           .              yes              1              10/3/16
;

data have2 / view=have2;
set have;
/* Total number of variables in have - 2 = 4 */
if cmiss(of _all_) = 4 and not missing(id) and not missing(event) then delete;
run;

proc transpose data=have2 out=want prefix=res;
by id;
id event;
var res;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 21 Aug 2017 04:41:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389447#M277516</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2017-08-21T04:41:32Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting one of the duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389527#M277517</link>
      <description>&lt;P&gt;Thank you all for the wonderful suggestions&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/88384"&gt;@Shmuel&lt;/a&gt;&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/12447"&gt;@Patrick&lt;/a&gt;&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats&lt;/a&gt;,&amp;nbsp;&lt;SPAN&gt;I will try them out!&amp;nbsp;&lt;/SPAN&gt;Also apologies for the inconvenient data format.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Aug 2017 14:07:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-one-of-the-duplicate/m-p/389527#M277517</guid>
      <dc:creator>michan22</dc:creator>
      <dc:date>2017-08-21T14:07:04Z</dc:date>
    </item>
  </channel>
</rss>

