<?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: Transpose many column values in to one column using sas di in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354211#M10606</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/43738"&gt;@ritesh&lt;/a&gt;_dellvostro wrote:&lt;BR /&gt;
&lt;P&gt;Thanks,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;, for this solution,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One more doubt, if I have all columns as character, then do we need to take as char?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;No. If the variables are the same type you will need to explicitly assign them to an array similar to the way the _col1 array is defined.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And a minor variation on &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;'s response that doesn't require you to count and set K as a limit&amp;nbsp; (assuming all of the numeric group have the same numbers of elements)&lt;/P&gt;
&lt;PRE&gt;data want;
   set have;
   array a x y z;
   array b x1-x3 y1-y3 z1-z3;
   do i=1 to dim(a);
      Col1= a[i];
      do j= 1 to dim(a);
         index = (i-1)*dim(a) +j;
         col2 = b[index];
         output;
      end;
   end;
   keep col1 col3;
;
run;&lt;/PRE&gt;</description>
    <pubDate>Thu, 27 Apr 2017 17:40:57 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2017-04-27T17:40:57Z</dc:date>
    <item>
      <title>Transpose many column values in to one column using sas di</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354191#M10601</link>
      <description>&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am looking for a solution for below query.&lt;/P&gt;&lt;P&gt;I have 1 row and 12 column source data like below and looking an output as mentioned below.&lt;/P&gt;&lt;P&gt;How can we use in SAS DI studio/ Base sas.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Query;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/8582i46FCA90B4E1085F1/image-size/original?v=1.0&amp;amp;px=-1" border="0" alt="source.JPG" title="source.JPG" /&gt;&lt;/P&gt;&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Output should be like below:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/8583i03F9C522D6D0CC73/image-size/original?v=1.0&amp;amp;px=-1" border="0" alt="target.JPG" title="target.JPG" /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Apr 2017 16:40:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354191#M10601</guid>
      <dc:creator>Riteshdell</dc:creator>
      <dc:date>2017-04-27T16:40:06Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose many column values in to one column using sas di</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354200#M10602</link>
      <description>&lt;P&gt;Here is one way:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data have;
  input x $ x1-x3 y $ y1-y3 z $ z1-z3;
  cards;
A 10 20 30 B 40 50 60 C 70 80 90
;
data want (keep=col1 col2);
  set have;
  array _col2(*) _numeric_;
  array _col1(*) $ x y z;
  k=-2;
  do i=1 to dim(_col1);
    k+3;
    col1=_col1(i);
    do j=k to (k+2);
      col2=_col2(j);
      output;
    end;
  end;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Apr 2017 17:05:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354200#M10602</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-04-27T17:05:51Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose many column values in to one column using sas di</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354202#M10603</link>
      <description>&lt;P&gt;Thanks,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;, for this solution,&amp;nbsp;&lt;/P&gt;&lt;P&gt;One more doubt, if I have all columns as character, then do we need to take as char?&lt;/P&gt;</description>
      <pubDate>Thu, 27 Apr 2017 17:09:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354202#M10603</guid>
      <dc:creator>Riteshdell</dc:creator>
      <dc:date>2017-04-27T17:09:55Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose many column values in to one column using sas di</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354203#M10604</link>
      <description>&lt;P&gt;data have;&lt;BR /&gt;length string $ 100;&lt;BR /&gt;infile datalines DLM='#';&lt;BR /&gt;input string;&lt;BR /&gt;datalines;&lt;BR /&gt;A 10 20 30 B 20 30 50 C 60 70 80&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data b(keep=new rename=new=Col1);&lt;BR /&gt;length new $8.;&lt;BR /&gt;set have;&lt;BR /&gt;do i=1 by 1 while(scan(string,i,', ') ^=' ');&lt;BR /&gt;new=scan(string,i,', ');&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA B;&lt;BR /&gt;SET B;&lt;BR /&gt;RETAIN ID;&lt;BR /&gt;IF ANYALPHA(COL1) THEN DO;&lt;BR /&gt;ID=COL1;&lt;BR /&gt;DELETE;&lt;BR /&gt;END;&lt;BR /&gt;RUN;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Apr 2017 17:10:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354203#M10604</guid>
      <dc:creator>thomp7050</dc:creator>
      <dc:date>2017-04-27T17:10:00Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose many column values in to one column using sas di</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354211#M10606</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/43738"&gt;@ritesh&lt;/a&gt;_dellvostro wrote:&lt;BR /&gt;
&lt;P&gt;Thanks,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;, for this solution,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One more doubt, if I have all columns as character, then do we need to take as char?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;No. If the variables are the same type you will need to explicitly assign them to an array similar to the way the _col1 array is defined.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And a minor variation on &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;'s response that doesn't require you to count and set K as a limit&amp;nbsp; (assuming all of the numeric group have the same numbers of elements)&lt;/P&gt;
&lt;PRE&gt;data want;
   set have;
   array a x y z;
   array b x1-x3 y1-y3 z1-z3;
   do i=1 to dim(a);
      Col1= a[i];
      do j= 1 to dim(a);
         index = (i-1)*dim(a) +j;
         col2 = b[index];
         output;
      end;
   end;
   keep col1 col3;
;
run;&lt;/PRE&gt;</description>
      <pubDate>Thu, 27 Apr 2017 17:40:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354211#M10606</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-04-27T17:40:57Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose many column values in to one column using sas di</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354336#M10609</link>
      <description>Hello &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;- Can you tell me code if I have all character column.</description>
      <pubDate>Fri, 28 Apr 2017 05:03:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354336#M10609</guid>
      <dc:creator>Riteshdell</dc:creator>
      <dc:date>2017-04-28T05:03:21Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose many column values in to one column using sas di</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354438#M10616</link>
      <description>&lt;P&gt;If all are character:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data have;
  input (x  x1-x3 y  y1-y3 z  z1-z3) ($);
  cards;
A 10 20 30 B 40 50 60 C 70 80 90
;

data want (keep=col1 col2);
  set have;
  array _col2(*) $ x1-x3 y1-y3 z1-z3;
  array _col1(*) $ x y z;
  k=-2;
  do i=1 to dim(_col1);
    k+3;
    col1=_col1(i);
    do j=k to (k+2);
      col2=_col2(j);
      output;
    end;
  end;
run;&lt;/PRE&gt;</description>
      <pubDate>Fri, 28 Apr 2017 12:21:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354438#M10616</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-04-28T12:21:47Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose many column values in to one column using sas di</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354476#M10618</link>
      <description>&lt;P&gt;It was very easy for IML if they are all character variables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input (x  x1-x3 y  y1-y3 z  z1-z3) ($);
  cards;
A 10 20 30 B 40 50 60 C 70 80 90
;
run;
proc iml;
use have;
read all var _ALL_ into x;
close;
y=shape(x,0,4);
name=repeat(y[,1],1,3);

col1=colvec(name);
col2=colvec(y[,2:4]);

create want var{col1 col2};
append;
close;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 28 Apr 2017 13:49:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Transpose-many-column-values-in-to-one-column-using-sas-di/m-p/354476#M10618</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-04-28T13:49:56Z</dc:date>
    </item>
  </channel>
</rss>

