<?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: Finding unique values across rows and columns in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773671#M245808</link>
    <description>&lt;P&gt;One approach, hope the result would be satisfactory:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data vials;
   set have;
   array viallab {10};
   do _n_=1 to 10;
      if viallab{_n_} ne . then do;
         vial = viallab{_n_};
         output;
      end;
   end;
   keep vial subjid;
run;

proc freq data=vials noprint;
   tables vial / out = counts;
run;

proc print data=counts;
   where count &amp;gt; 1;
   var vial count;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The report gives you a list of the vials that were recorded more than once, and the data set VIALS tells you which subjects were matched with which vials.&lt;/P&gt;</description>
    <pubDate>Tue, 12 Oct 2021 15:19:31 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2021-10-12T15:19:31Z</dc:date>
    <item>
      <title>Finding unique values across rows and columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773653#M245804</link>
      <description>&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have the below dataset and I would like to make sure that the values (viallab1 to viallab10) are unique within my entire dataset&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So for example the values in red would be marked as duplicates&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you please give a suggestion on how to solve that?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;SUBJID&lt;/TD&gt;&lt;TD&gt;VISITT&lt;/TD&gt;&lt;TD&gt;VISITD&lt;/TD&gt;&lt;TD&gt;VIALLAB1&lt;/TD&gt;&lt;TD&gt;VIALLAB2&lt;/TD&gt;&lt;TD&gt;VIALLAB3&lt;/TD&gt;&lt;TD&gt;VIALLAB4&lt;/TD&gt;&lt;TD&gt;VIALLAB5&lt;/TD&gt;&lt;TD&gt;VIALLAB6&lt;/TD&gt;&lt;TD&gt;VIALLAB7&lt;/TD&gt;&lt;TD&gt;VIALLAB8&lt;/TD&gt;&lt;TD&gt;VIALLAB9&lt;/TD&gt;&lt;TD&gt;VIALLAB10&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DUM-002-001&lt;/TD&gt;&lt;TD&gt;Cycle 1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF6600"&gt;117003&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF6600"&gt;170068&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;172472&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;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DUM-002-001&lt;/TD&gt;&lt;TD&gt;Unscheduled visit during combination treatment 1&lt;/TD&gt;&lt;TD&gt;201&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;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;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DUM-002-001&lt;/TD&gt;&lt;TD&gt;Unscheduled visit during combination treatment 2&lt;/TD&gt;&lt;TD&gt;202&lt;/TD&gt;&lt;TD&gt;236547&lt;/TD&gt;&lt;TD&gt;236548&lt;/TD&gt;&lt;TD&gt;236549&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;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CAM-002-001&lt;/TD&gt;&lt;TD&gt;Unscheduled visit during combination treatment 3&lt;/TD&gt;&lt;TD&gt;203&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;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;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CAM-002-001&lt;/TD&gt;&lt;TD&gt;Unscheduled visit during combination treatment 4&lt;/TD&gt;&lt;TD&gt;204&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF6600"&gt;117003&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF6600"&gt;170068&lt;/FONT&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;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&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;&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;&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;&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;&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;&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;&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;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 12 Oct 2021 13:49:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773653#M245804</guid>
      <dc:creator>juju_p</dc:creator>
      <dc:date>2021-10-12T13:49:41Z</dc:date>
    </item>
    <item>
      <title>Re: Finding unique values across rows and columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773655#M245805</link>
      <description>&lt;P&gt;&lt;STRIKE&gt;Please clarify ... when you determine if something is a duplicate, are you just looking in one column, or is something a duplicate if it appears once in column&amp;nbsp;VIALLAB1 and it appears again in column&amp;nbsp;VIALLAB2?&lt;/STRIKE&gt; Okay, I see that the value can be in different columns&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;When we do find duplicates, then what? Remove them? Or flag them? What action should be taken when duplicates are found?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;Can you please provide a portion of your data as SAS data step code (&lt;A href="https://blogs.sas.com/content/sastraining/2016/03/11/jedi-sas-tricks-data-to-data-step-macro/" target="_self"&gt;instructions&lt;/A&gt;) instead of as a screen capture, which we can't really work with.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Oct 2021 14:51:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773655#M245805</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2021-10-12T14:51:27Z</dc:date>
    </item>
    <item>
      <title>Re: Finding unique values across rows and columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773671#M245808</link>
      <description>&lt;P&gt;One approach, hope the result would be satisfactory:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data vials;
   set have;
   array viallab {10};
   do _n_=1 to 10;
      if viallab{_n_} ne . then do;
         vial = viallab{_n_};
         output;
      end;
   end;
   keep vial subjid;
run;

proc freq data=vials noprint;
   tables vial / out = counts;
run;

proc print data=counts;
   where count &amp;gt; 1;
   var vial count;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The report gives you a list of the vials that were recorded more than once, and the data set VIALS tells you which subjects were matched with which vials.&lt;/P&gt;</description>
      <pubDate>Tue, 12 Oct 2021 15:19:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773671#M245808</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2021-10-12T15:19:31Z</dc:date>
    </item>
    <item>
      <title>Re: Finding unique values across rows and columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773672#M245809</link>
      <description>&lt;P&gt;Also, provide an example of what your output data set should look like. If we a flagging values in multiple variables there has to be something that indicates which what is a duplicate and potentially you have have 10 variables per record that can be duplicates, so are you expecting to have 10 additional flag variables added?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Transpose the data so you have one record per VIALLAB and it is easy to count those to see which are duplicated anywhere in the set. The fun part will be getting whatever the required output is.&lt;/P&gt;</description>
      <pubDate>Tue, 12 Oct 2021 15:21:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773672#M245809</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2021-10-12T15:21:10Z</dc:date>
    </item>
    <item>
      <title>Re: Finding unique values across rows and columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773857#M245891</link>
      <description>&lt;P&gt;This is how my output should look like for the example given below&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So I will have&amp;nbsp; 2 separate tables in my result.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;SUBJID&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;VISITT&lt;/TD&gt;&lt;TD&gt;VISITD&lt;/TD&gt;&lt;TD&gt;VIALLAB1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DUM-002-001&lt;/TD&gt;&lt;TD&gt;Cycle 1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;117003&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CAM-002-001&lt;/TD&gt;&lt;TD&gt;Unscheduled visit during combination treatment 4&lt;/TD&gt;&lt;TD&gt;204&lt;/TD&gt;&lt;TD&gt;117003&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SUBJID&lt;/TD&gt;&lt;TD&gt;VISITT&lt;/TD&gt;&lt;TD&gt;VISITD&lt;/TD&gt;&lt;TD&gt;VIALLAB2&lt;/TD&gt;&lt;TD&gt;VIALLAB3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DUM-002-001&lt;/TD&gt;&lt;TD&gt;Cycle 1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;170068&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CAM-002-001&lt;/TD&gt;&lt;TD&gt;Unscheduled visit during combination treatment 4&lt;/TD&gt;&lt;TD&gt;204&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;170068&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Wed, 13 Oct 2021 08:27:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773857#M245891</guid>
      <dc:creator>juju_p</dc:creator>
      <dc:date>2021-10-13T08:27:01Z</dc:date>
    </item>
    <item>
      <title>Re: Finding unique values across rows and columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773860#M245893</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc transpose
  data=have
  out=long (where=(col1 ne ""))
;
by subjid visitd visitt;
var viallab:;
run;

proc sort
  data=long
  out=nondup
  dupout=dup
  nodupkey
;
by _name_;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Untested; for tested code, please provide data in a data step with datalines, posted in a code box ("little running man" button).&lt;/P&gt;</description>
      <pubDate>Wed, 13 Oct 2021 08:38:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773860#M245893</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-10-13T08:38:53Z</dc:date>
    </item>
    <item>
      <title>Re: Finding unique values across rows and columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773861#M245894</link>
      <description>&lt;P&gt;This prints the duplicate vials but I cannot see on which subjects the duplicate values occur&lt;/P&gt;&lt;P&gt;see below the result&lt;/P&gt;&lt;DIV class=""&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;DIV align="center"&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Obs&lt;/TD&gt;&lt;TD&gt;vial&lt;/TD&gt;&lt;TD&gt;COUNT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;799&lt;/TD&gt;&lt;TD&gt;108291&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1067&lt;/TD&gt;&lt;TD&gt;111011&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1264&lt;/TD&gt;&lt;TD&gt;112968&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1349&lt;/TD&gt;&lt;TD&gt;113794&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1362&lt;/TD&gt;&lt;TD&gt;113909&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1604&lt;/TD&gt;&lt;TD&gt;116195&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 13 Oct 2021 08:39:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773861#M245894</guid>
      <dc:creator>juju_p</dc:creator>
      <dc:date>2021-10-13T08:39:36Z</dc:date>
    </item>
    <item>
      <title>Re: Finding unique values across rows and columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773906#M245919</link>
      <description>&lt;P&gt;Looking at the updated description for the output, I would keep the duplicates all in one data set:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data vials;
   set have;
   array viallab {10};
   do whichtest=1 to 10;
      if viallab{whichtest} ne . then do;
         vial = viallab{whichtest};
         output;
      end;
   end;
   keep vial subjid visitt visitd whichtest;
run;

proc sort data=vials;
   by vial subjid;
run;

data want;
   set vials;
   by vial;
   if first.vial=0 or last.vial=0;
run;

/* optionally */
proc print data=want;
   by vial;
   id vial;
   var subjid visitt visitd whichtest;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;It's untested code, but should do the trick.&lt;/P&gt;</description>
      <pubDate>Wed, 13 Oct 2021 12:02:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-unique-values-across-rows-and-columns/m-p/773906#M245919</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2021-10-13T12:02:56Z</dc:date>
    </item>
  </channel>
</rss>

