<?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: Removing duplicate values in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Removing-duplicate-values/m-p/331415#M74474</link>
    <description>&lt;P&gt;For your example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data A;
  Input ID A1 $ A2 $ A3 $ A4 $ A5 $;
  Datalines; 
1234 abc def abc def .
1235 abc abc abc abc .
1236 abc . . . .
1240 asf abc asf def asf
1245 abc def asf ghi jkl
1251 asf abc . . .
1252 abc abc . . .
; 

Data B1 (Drop=i j);
  Set A;
  Array A{*} A:;
  Do i=1 To Dim(A);
	Do j=i To Dim(A);
	  If (A{j}=A[i}) &amp;amp; (i^=j) Then Call Missing (A{j});
	End;
  End;
Run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 10 Feb 2017 07:48:56 GMT</pubDate>
    <dc:creator>user24feb</dc:creator>
    <dc:date>2017-02-10T07:48:56Z</dc:date>
    <item>
      <title>Removing duplicate values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Removing-duplicate-values/m-p/331406#M74469</link>
      <description>&lt;P&gt;Dear Members,&lt;/P&gt;&lt;P&gt;Once again, I need your expert advice.&lt;/P&gt;&lt;P&gt;I have the following SAS Dataset (posting the dummy data reproduced in excel).&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;A1&lt;/TD&gt;&lt;TD&gt;A2&lt;/TD&gt;&lt;TD&gt;A3&lt;/TD&gt;&lt;TD&gt;A4&lt;/TD&gt;&lt;TD&gt;A5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1234&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;def&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;def&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1235&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1236&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1240&lt;/TD&gt;&lt;TD&gt;asf&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;asf&lt;/TD&gt;&lt;TD&gt;def&lt;/TD&gt;&lt;TD&gt;asf&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1245&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;def&lt;/TD&gt;&lt;TD&gt;asf&lt;/TD&gt;&lt;TD&gt;ghi&lt;/TD&gt;&lt;TD&gt;jkl&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1251&lt;/TD&gt;&lt;TD&gt;asf&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1252&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am looking for the following output where all the duplicate values across rows will be deleted.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;A1&lt;/TD&gt;&lt;TD&gt;A2&lt;/TD&gt;&lt;TD&gt;A3&lt;/TD&gt;&lt;TD&gt;A4&lt;/TD&gt;&lt;TD&gt;A5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1234&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;def&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1235&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1236&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1240&lt;/TD&gt;&lt;TD&gt;asf&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;def&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1245&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;def&lt;/TD&gt;&lt;TD&gt;asf&lt;/TD&gt;&lt;TD&gt;ghi&lt;/TD&gt;&lt;TD&gt;jkl&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1251&lt;/TD&gt;&lt;TD&gt;asf&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1252&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;TD&gt;　&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance !&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2017 06:32:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Removing-duplicate-values/m-p/331406#M74469</guid>
      <dc:creator>deega</dc:creator>
      <dc:date>2017-02-10T06:32:43Z</dc:date>
    </item>
    <item>
      <title>Re: Removing duplicate values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Removing-duplicate-values/m-p/331415#M74474</link>
      <description>&lt;P&gt;For your example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data A;
  Input ID A1 $ A2 $ A3 $ A4 $ A5 $;
  Datalines; 
1234 abc def abc def .
1235 abc abc abc abc .
1236 abc . . . .
1240 asf abc asf def asf
1245 abc def asf ghi jkl
1251 asf abc . . .
1252 abc abc . . .
; 

Data B1 (Drop=i j);
  Set A;
  Array A{*} A:;
  Do i=1 To Dim(A);
	Do j=i To Dim(A);
	  If (A{j}=A[i}) &amp;amp; (i^=j) Then Call Missing (A{j});
	End;
  End;
Run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 10 Feb 2017 07:48:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Removing-duplicate-values/m-p/331415#M74474</guid>
      <dc:creator>user24feb</dc:creator>
      <dc:date>2017-02-10T07:48:56Z</dc:date>
    </item>
    <item>
      <title>Re: Removing duplicate values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Removing-duplicate-values/m-p/331416#M74475</link>
      <description>&lt;P&gt;.. this one also shifts ..&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data B2 (Drop=i j);
  Set A;
  Array A{*} A:;
  Do i=1 To Dim(A);
	Do j=i To Dim(A);
	  If (A{j}=A[i}) &amp;amp; (i^=j) Then Call Missing (A{j});
	End;
  End;
  Do i=1 To Dim(A);
    If Missing (A{i}) Then Do j=i+1 To Dim(A);
	  If not Missing (A{j}) Then Do;
		A{i}=A{j};
		Call Missing (A{j});
	  End;
	End;
  End;
Run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 10 Feb 2017 07:54:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Removing-duplicate-values/m-p/331416#M74475</guid>
      <dc:creator>user24feb</dc:creator>
      <dc:date>2017-02-10T07:54:14Z</dc:date>
    </item>
    <item>
      <title>Re: Removing duplicate values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Removing-duplicate-values/m-p/331433#M74484</link>
      <description>&lt;P&gt;Please post test data&amp;nbsp;&lt;STRONG&gt;in the form of a datastep&lt;/STRONG&gt;. &amp;nbsp;See how I have put the test data in the program below.&lt;/P&gt;
&lt;P&gt;As an alternative to the datastep you could normalise, sort and transpose:&lt;/P&gt;
&lt;PRE&gt;data have;
  infile datalines missover;
  input ID	A1 $	A2 $	A3 $	A4 $	A5 $;
datalines;
1234	abc	def	abc	def	　
1235	abc	abc	abc	abc	　
1236	abc	　	　	　	　
1240	asf	abc	asf	def	asf
1245	abc	def	asf	ghi	jkl
1251	asf	abc	　	　	　
1252	abc	abc	　
;
run;

proc transpose data=have out=inter;
  by id;
  var a:;
run;

proc sort data=inter nodupkey;
  by id col1;
  where col1 ne "";
run;
 
proc transpose data=inter out=want prefix=a;
  by id;
  var col1;
run;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2017 09:34:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Removing-duplicate-values/m-p/331433#M74484</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-02-10T09:34:24Z</dc:date>
    </item>
  </channel>
</rss>

