<?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: Compare columns and make one column in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303729#M64570</link>
    <description>&lt;P&gt;I do like the thinking on this post, really should use those call functions more often very useful. &amp;nbsp;Anyways,&amp;nbsp;I tried to run that and found a few problems. &amp;nbsp;The (*) causes an error, and using dim() doesn't sort. &amp;nbsp;But the idea is perfectly sound and this does work (note I put the coalescec to avoid possile missings):&lt;/P&gt;
&lt;PRE&gt;data want;
  id=1; class1="B"; class2="D"; class3=""; class4="A"; class5="F";
  call sortc(of class:);
  result=char(coalescec(of class:),1);
run; &lt;/PRE&gt;</description>
    <pubDate>Tue, 11 Oct 2016 08:33:13 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2016-10-11T08:33:13Z</dc:date>
    <item>
      <title>Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303538#M64497</link>
      <description>&lt;P&gt;How can i &amp;nbsp;compare lots of columns to get which one first alphabetically? I will give 5 columns example.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is my table :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;id &amp;nbsp; &amp;nbsp; &amp;nbsp;class1 &amp;nbsp; &amp;nbsp;class2 &amp;nbsp; class3 &amp;nbsp; class4 &amp;nbsp; class5&lt;/P&gt;
&lt;P&gt;27 &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&lt;/P&gt;
&lt;P&gt;33 &amp;nbsp; &amp;nbsp; &amp;nbsp;B &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;D &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;46 &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need &amp;nbsp; this table :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;id &amp;nbsp; &amp;nbsp;class&lt;/P&gt;
&lt;P&gt;27 &amp;nbsp; &amp;nbsp;A&lt;/P&gt;
&lt;P&gt;33 &amp;nbsp; &amp;nbsp;B&lt;/P&gt;
&lt;P&gt;46 &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Oct 2016 12:40:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303538#M64497</guid>
      <dc:creator>user24</dc:creator>
      <dc:date>2016-10-10T12:40:31Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303540#M64498</link>
      <description>&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array clx class1-class5 ; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; class = ' ';&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; do i=1 to dim(clx);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if &amp;nbsp;class = ' ' and clx(i) ne ' ' then class = clx(i);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else class = min(class, clx(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; keep id class_out;&lt;/P&gt;&lt;P&gt;run;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Oct 2016 12:49:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303540#M64498</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2016-10-10T12:49:58Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303541#M64499</link>
      <description>&lt;P&gt;Posting test data in the form of a datastep would allow us to give working code. &amp;nbsp;At a guess:&lt;/P&gt;
&lt;PRE&gt;data want;
  set have;
  array class{5};
  result=class{1}
  do i=2 to 5;
    if class{i} ne "" and class{i} &amp;lt; result then result=class{i};
  end;
run;&lt;/PRE&gt;</description>
      <pubDate>Mon, 10 Oct 2016 12:49:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303541#M64499</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2016-10-10T12:49:59Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303542#M64500</link>
      <description>&lt;P&gt;to&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/45151"&gt;@RW9﻿&lt;/a&gt;&amp;nbsp;- in case that class(1) is Blank&amp;nbsp;the final result will be&amp;nbsp;Blank too;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Oct 2016 12:53:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303542#M64500</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2016-10-10T12:53:54Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303546#M64501</link>
      <description>&lt;P&gt;SQL makes this even easier:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;/P&gt;
&lt;P&gt;create table want as select id, min(class1, class2, class3, class4, class5) as class&lt;/P&gt;
&lt;P&gt;from have;&lt;/P&gt;
&lt;P&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The MIN function in SQL ignores missing values, and works for character as well as numeric arguments.&amp;nbsp; You may be able to abbreviate this as min(of class1-class5), but I haven't tested to see if this works in PROC SQL.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Oct 2016 13:19:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303546#M64501</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-10-10T13:19:45Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303553#M64503</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt; wrote:&lt;BR /&gt;&lt;BR /&gt;
&lt;P&gt;The MIN function in SQL ignores missing values, and works for character as well as numeric arguments.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Has that been added in 9.3 or 9.4? In 9.2 min() only accepts numerical arguments.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Oct 2016 13:55:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303553#M64503</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2016-10-10T13:55:50Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303562#M64505</link>
      <description>&lt;P&gt;Kurt,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm not sure when MIN became available for character fields, but it is more limited than I had suspected.&amp;nbsp; It does NOT work with SAS data sets!&amp;nbsp; It does work when the source data is a Greenplum table, which means you may not be able to get it to work at all.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sorry about that.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Oct 2016 14:59:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303562#M64505</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-10-10T14:59:33Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303625#M64528</link>
      <description>&lt;P&gt;I have checked SAS&lt;STRONG&gt; 9.2&lt;/STRONG&gt; O/L doc. and SAS &lt;STRONG&gt;9.4&lt;/STRONG&gt; as SAS Studio UE:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In both cases. MIN function desires &lt;STRONG&gt;numeric&lt;/STRONG&gt; constants/variables/expressions.&lt;/P&gt;&lt;P&gt;Thats right even in SQL expression as:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; proc sql; select min(a,b) from test; quit; &amp;nbsp; /* &amp;nbsp;where a="A"; b="B"; &amp;nbsp;*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I got desired result running:&lt;/P&gt;&lt;P&gt;&amp;nbsp; proc sql; select byte(min(rank(a) , rank(b))); quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;One exception: BYTE and RANK functions desire &lt;STRONG&gt;one&lt;/STRONG&gt; character string only;&lt;/P&gt;&lt;P&gt;In case of more characters, those functions relate to the first character only.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;To the specific query:&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array clx class1-class5 ; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; class = ' ';&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; do i=1 to dim(clx);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if &amp;nbsp;class = ' ' and clx(i) ne ' ' then class = clx(i);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;STRONG&gt;else if clx(i) &amp;lt; class then class = clx(i);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; keep id class;&lt;/P&gt;&lt;P&gt;run;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Oct 2016 18:07:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303625#M64528</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2016-10-10T18:07:09Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303636#M64534</link>
      <description>&lt;P&gt;Other solution based on sorting character array:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array clx class1-class5 ; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;STRONG&gt; call sortc(clx(*));&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; class = clx(1);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; keep id class;&lt;/P&gt;&lt;P&gt;run;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Oct 2016 19:00:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303636#M64534</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2016-10-10T19:00:25Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303640#M64536</link>
      <description>&lt;P&gt;user24,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is actually quite unusual, but every single solution presented (mine included) has some sort of flaw in it.&amp;nbsp; Here's my second attempt:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;array classes {5} class1-class5;&lt;/P&gt;
&lt;P&gt;do _n_=1 to 5;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; if class=' '&amp;nbsp; or (' ' &amp;lt; classes{_n_} &amp;lt; class) then class=classes{_n_};&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Oct 2016 19:36:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303640#M64536</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-10-10T19:36:10Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303720#M64566</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Kurt,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm not sure when MIN became available for character fields, but it is more limited than I had suspected.&amp;nbsp; It does NOT work with SAS data sets!&amp;nbsp; It does work when the source data is a Greenplum table, which means you may not be able to get it to work at all.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sorry about that.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I guess it works there because SAS simply hands it off to the implicit passthrough.&lt;/P&gt;</description>
      <pubDate>Tue, 11 Oct 2016 06:37:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303720#M64566</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2016-10-11T06:37:06Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303729#M64570</link>
      <description>&lt;P&gt;I do like the thinking on this post, really should use those call functions more often very useful. &amp;nbsp;Anyways,&amp;nbsp;I tried to run that and found a few problems. &amp;nbsp;The (*) causes an error, and using dim() doesn't sort. &amp;nbsp;But the idea is perfectly sound and this does work (note I put the coalescec to avoid possile missings):&lt;/P&gt;
&lt;PRE&gt;data want;
  id=1; class1="B"; class2="D"; class3=""; class4="A"; class5="F";
  call sortc(of class:);
  result=char(coalescec(of class:),1);
run; &lt;/PRE&gt;</description>
      <pubDate>Tue, 11 Oct 2016 08:33:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303729#M64570</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2016-10-11T08:33:13Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303748#M64576</link>
      <description>&lt;P&gt;Just a follow-up note: &amp;nbsp;This idea works. &amp;nbsp;It was posted after I posted my comment about all the previous solultions having a flaw.&lt;/P&gt;</description>
      <pubDate>Tue, 11 Oct 2016 11:37:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303748#M64576</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-10-11T11:37:15Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303786#M64585</link>
      <description>&lt;P&gt;This gives me only id's. Nothing else?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Oct 2016 13:57:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303786#M64585</guid>
      <dc:creator>user24</dc:creator>
      <dc:date>2016-10-11T13:57:35Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303789#M64586</link>
      <description>&lt;P&gt;You probably did not copy the code correctly:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards dlm=',' dsd;
input id class1 $ class2 $ class3 $ class4 $ class5 $;
cards;
27,A,B,A,,C
33,B,C,D,B,
46,A,A,,C,A
;
run;

data want1;
set have;
array classes {5} class1-class5;
do _n_=1 to 5;
   if class=' '  or (' ' &amp;lt; classes{_n_} &amp;lt; class) then class=classes{_n_};
end;
run;

proc print;run;

data want2;
  id=1; class1="B"; class2="D"; class3=""; class4="A"; class5="F";
  call sortc(of class:);
  result=char(coalescec(of class:),1);
run; 

proc print;run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The results are&lt;/P&gt;
&lt;PRE&gt;  Obs    id    class1    class2    class3    class4    class5    class

   1     27      A         B         A                   C         A  
   2     33      B         C         D         B                   B  
   3     46      A         A                   C         A         A  

 Obs    id    class1    class2    class3    class4    class5    result

  1      1                A         B         D         F         A   
&lt;/PRE&gt;</description>
      <pubDate>Tue, 11 Oct 2016 14:03:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303789#M64586</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2016-10-11T14:03:51Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303812#M64590</link>
      <description>&lt;P&gt;OK, looks like you didn't heed my warning.&amp;nbsp; You accepted a solution as correct when it can give the wrong answer:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Whenever class5 is missing&lt;/LI&gt;
&lt;LI&gt;Whenever two incoming variables are missing (not including the combination of class1 and class2 being missing)&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Maybe these situations won't occur in your data, but check them!&lt;/P&gt;</description>
      <pubDate>Tue, 11 Oct 2016 15:27:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303812#M64590</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-10-11T15:27:17Z</dc:date>
    </item>
    <item>
      <title>Re: Compare columns and make one column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303814#M64591</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding﻿&lt;/a&gt;&amp;nbsp;you are absolutely right.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code should be:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array clx class1-class5 ; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; class = ' ';&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; do i=1 to dim(clx);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if &amp;nbsp;class = ' ' and clx(i) ne ' ' then class = clx(i);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;STRONG&gt;else if clx(i) &amp;lt; class and &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clx(i) &amp;nbsp;ne ' '&lt;/SPAN&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; then class = clx(i);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; keep id class;&lt;/P&gt;&lt;P&gt;run;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Oct 2016 15:36:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compare-columns-and-make-one-column/m-p/303814#M64591</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2016-10-11T15:36:05Z</dc:date>
    </item>
  </channel>
</rss>

