<?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: How may I &amp;quot;transpose&amp;quot; a dataset so that it goes from multi-row, multi-column, to wide in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620835#M182482</link>
    <description>&lt;P&gt;Hi again&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/40770"&gt;@AllSoEasy&lt;/a&gt;&amp;nbsp; The following meets the order of variables the way shown in your expected output&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input (byVar SingleRate	SingleBracket	MarriedRate	MarriedBracket) (:$10.);
cards;
Group1	10%	$0	10%	$0
Group1	12%	$13,851	12%	$9,701
Group1	22%	$52,851	22%	$39,476
Group1	24%	$84,201	24%	$84,201
Group1	32%	$160,701	32%	$160,726
Group1	35%	$204,101	35%	$204,101
Group1	37%	$510,301	37%	$306,176
Group2	10%	$3,000	10%	$3,200
Group2	12%	$15,851	12%	$11,701
Group2	22%	$54,851	22%	$41,476
Group2	24%	$86,201	24%	$86,201
Group2	32%	$162,701	32%	$162,726
Group2	35%	$206,101	35%	$206,101
Group2	37%	$512,301	37%	$308,176
;

data temp;
 set have;
 by byvar;
 if first.byvar then n=0;
 n+1;
 array 	t SingleRate--MarriedBracket;
 do over t;
  n1=_i_;
  vn=put(vname(t),32.);
  v=t;
 output;
 end;
 keep byvar vn v n:;
run;

proc sort data=temp out=_temp;
by byvar n1;
run;

proc transpose data=_temp out=want(drop=_:) delimiter=_;
by byvar ;
id  vn n;
var v;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 29 Jan 2020 15:15:20 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2020-01-29T15:15:20Z</dc:date>
    <item>
      <title>How may I "transpose" a dataset so that it goes from multi-row, multi-column, to wide single-row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620717#M182442</link>
      <description>&lt;P&gt;Hello --&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a dataset with multiple rows and columns, as such &lt;STRONG&gt;(Have):&lt;/STRONG&gt;&lt;/P&gt;
&lt;TABLE width="644"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="161"&gt;SingleRate&lt;/TD&gt;
&lt;TD width="161"&gt;SingleBracket&lt;/TD&gt;
&lt;TD width="161"&gt;MarriedRate&lt;/TD&gt;
&lt;TD width="161"&gt;MarriedBracket&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10%&lt;/TD&gt;
&lt;TD&gt;$0&lt;/TD&gt;
&lt;TD&gt;10%&lt;/TD&gt;
&lt;TD&gt;$0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12%&lt;/TD&gt;
&lt;TD&gt;$13,851&lt;/TD&gt;
&lt;TD&gt;12%&lt;/TD&gt;
&lt;TD&gt;$9,701&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;22%&lt;/TD&gt;
&lt;TD&gt;$52,851&lt;/TD&gt;
&lt;TD&gt;22%&lt;/TD&gt;
&lt;TD&gt;$39,476&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;24%&lt;/TD&gt;
&lt;TD&gt;$84,201&lt;/TD&gt;
&lt;TD&gt;24%&lt;/TD&gt;
&lt;TD&gt;$84,201&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;32%&lt;/TD&gt;
&lt;TD&gt;$160,701&lt;/TD&gt;
&lt;TD&gt;32%&lt;/TD&gt;
&lt;TD&gt;$160,726&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;35%&lt;/TD&gt;
&lt;TD&gt;$204,101&lt;/TD&gt;
&lt;TD&gt;35%&lt;/TD&gt;
&lt;TD&gt;$204,101&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;37%&lt;/TD&gt;
&lt;TD&gt;$510,301&lt;/TD&gt;
&lt;TD&gt;37%&lt;/TD&gt;
&lt;TD&gt;$306,176&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And I want to transpose it so that every cell turns into it's own column, and the columns names are just suffixed with numbers (or something to distinctly signify them): (&lt;STRONG&gt;Want&lt;/STRONG&gt;&lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;
&lt;TABLE width="1461"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="45"&gt;SingleRate1&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate2&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate3&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate4&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate5&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate6&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate7&lt;/TD&gt;
&lt;TD width="45"&gt;SingleBracket1&lt;/TD&gt;
&lt;TD width="58"&gt;SingleBracket2&lt;/TD&gt;
&lt;TD width="58"&gt;SingleBracket3&lt;/TD&gt;
&lt;TD width="58"&gt;SingleBracket4&lt;/TD&gt;
&lt;TD width="65"&gt;SingleBracket5&lt;/TD&gt;
&lt;TD width="65"&gt;SingleBracket6&lt;/TD&gt;
&lt;TD width="65"&gt;SingleBracket7&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate1&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate2&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate3&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate4&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate5&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate6&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate7&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedBracket1&lt;/TD&gt;
&lt;TD width="59"&gt;MarriedBracket2&lt;/TD&gt;
&lt;TD width="59"&gt;MarriedBracket3&lt;/TD&gt;
&lt;TD width="59"&gt;MarriedBracket4&lt;/TD&gt;
&lt;TD width="65"&gt;MarriedBracket5&lt;/TD&gt;
&lt;TD width="65"&gt;MarriedBracket6&lt;/TD&gt;
&lt;TD width="65"&gt;MarriedBracket7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10%&lt;/TD&gt;
&lt;TD&gt;12%&lt;/TD&gt;
&lt;TD&gt;22%&lt;/TD&gt;
&lt;TD&gt;24%&lt;/TD&gt;
&lt;TD&gt;32%&lt;/TD&gt;
&lt;TD&gt;35%&lt;/TD&gt;
&lt;TD&gt;37%&lt;/TD&gt;
&lt;TD&gt;$0&lt;/TD&gt;
&lt;TD&gt;$13,851&lt;/TD&gt;
&lt;TD&gt;$52,851&lt;/TD&gt;
&lt;TD&gt;$84,201&lt;/TD&gt;
&lt;TD&gt;$160,701&lt;/TD&gt;
&lt;TD&gt;$204,101&lt;/TD&gt;
&lt;TD&gt;$510,301&lt;/TD&gt;
&lt;TD&gt;10%&lt;/TD&gt;
&lt;TD&gt;12%&lt;/TD&gt;
&lt;TD&gt;22%&lt;/TD&gt;
&lt;TD&gt;24%&lt;/TD&gt;
&lt;TD&gt;32%&lt;/TD&gt;
&lt;TD&gt;35%&lt;/TD&gt;
&lt;TD&gt;37%&lt;/TD&gt;
&lt;TD&gt;$0&lt;/TD&gt;
&lt;TD&gt;$9,701&lt;/TD&gt;
&lt;TD&gt;$39,476&lt;/TD&gt;
&lt;TD&gt;$84,201&lt;/TD&gt;
&lt;TD&gt;$160,726&lt;/TD&gt;
&lt;TD&gt;$204,101&lt;/TD&gt;
&lt;TD&gt;$306,176&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have been trying to use proc transpose with pretty much every permutation of by/id/var statements I can think of, but cannot seem to achieve this result. Might anyone have any ideas?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you very much.&lt;/P&gt;
&lt;P&gt;-Ryan&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;</description>
      <pubDate>Wed, 29 Jan 2020 00:31:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620717#M182442</guid>
      <dc:creator>AllSoEasy</dc:creator>
      <dc:date>2020-01-29T00:31:25Z</dc:date>
    </item>
    <item>
      <title>Re: How may I "transpose" a dataset so that it goes from multi-row, multi-column, to wide</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620722#M182444</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input (SingleRate	SingleBracket	MarriedRate	MarriedBracket) (:$10.);
cards;
10%	$0	10%	$0
12%	$13,851	12%	$9,701
22%	$52,851	22%	$39,476
24%	$84,201	24%	$84,201
32%	$160,701	32%	$160,726
35%	$204,101	35%	$204,101
37%	$510,301	37%	$306,176 
;

data temp;
 set have;
 array 	t SingleRate--MarriedBracket;
 n=_n_;
 do over t;
  vn=put(vname(t),32.);
  v=t;
 output;
 end;
 keep vn v n;
run;

proc transpose data=temp out=want(drop=_:) delimiter=_;
id  vn n;
var v;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 29 Jan 2020 01:46:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620722#M182444</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-01-29T01:46:14Z</dc:date>
    </item>
    <item>
      <title>Re: How may I "transpose" a dataset so that it goes from multi-row, multi-column, to wide</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620725#M182446</link>
      <description>&lt;P&gt;And another one&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input (SingleRate	SingleBracket	MarriedRate	MarriedBracket) (:$10.);
cards;
10%	$0	10%	$0
12%	$13,851	12%	$9,701
22%	$52,851	22%	$39,476
24%	$84,201	24%	$84,201
32%	$160,701	32%	$160,726
35%	$204,101	35%	$204,101
37%	$510,301	37%	$306,176 
;
proc sql noprint;
select count(*) as obs 	into :obs
 from have;
quit; 

proc summary nway data=have missing; 
 output  out = want(drop=_type_ _freq_) 
 idgroup(out[&amp;amp;obs](SingleRate--MarriedBracket)=) ;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 29 Jan 2020 01:55:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620725#M182446</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-01-29T01:55:39Z</dc:date>
    </item>
    <item>
      <title>Re: How may I "transpose" a dataset so that it goes from multi-row, multi-column, to wide</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620813#M182476</link>
      <description>&lt;P&gt;Thank you very much novinosrin!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One quick follow up -- is it possible to extrapolate this solution to do a similar thing with a 'by group'? i.e.&lt;/P&gt;
&lt;P&gt;Have:&lt;/P&gt;
&lt;TABLE width="708"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;byVar&lt;/TD&gt;
&lt;TD width="161"&gt;SingleRate&lt;/TD&gt;
&lt;TD width="161"&gt;SingleBracket&lt;/TD&gt;
&lt;TD width="161"&gt;MarriedRate&lt;/TD&gt;
&lt;TD width="161"&gt;MarriedBracket&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group1&lt;/TD&gt;
&lt;TD&gt;10%&lt;/TD&gt;
&lt;TD&gt;$0&lt;/TD&gt;
&lt;TD&gt;10%&lt;/TD&gt;
&lt;TD&gt;$0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group1&lt;/TD&gt;
&lt;TD&gt;12%&lt;/TD&gt;
&lt;TD&gt;$13,851&lt;/TD&gt;
&lt;TD&gt;12%&lt;/TD&gt;
&lt;TD&gt;$9,701&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group1&lt;/TD&gt;
&lt;TD&gt;22%&lt;/TD&gt;
&lt;TD&gt;$52,851&lt;/TD&gt;
&lt;TD&gt;22%&lt;/TD&gt;
&lt;TD&gt;$39,476&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group1&lt;/TD&gt;
&lt;TD&gt;24%&lt;/TD&gt;
&lt;TD&gt;$84,201&lt;/TD&gt;
&lt;TD&gt;24%&lt;/TD&gt;
&lt;TD&gt;$84,201&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group1&lt;/TD&gt;
&lt;TD&gt;32%&lt;/TD&gt;
&lt;TD&gt;$160,701&lt;/TD&gt;
&lt;TD&gt;32%&lt;/TD&gt;
&lt;TD&gt;$160,726&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group1&lt;/TD&gt;
&lt;TD&gt;35%&lt;/TD&gt;
&lt;TD&gt;$204,101&lt;/TD&gt;
&lt;TD&gt;35%&lt;/TD&gt;
&lt;TD&gt;$204,101&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group1&lt;/TD&gt;
&lt;TD&gt;37%&lt;/TD&gt;
&lt;TD&gt;$510,301&lt;/TD&gt;
&lt;TD&gt;37%&lt;/TD&gt;
&lt;TD&gt;$306,176&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group2&lt;/TD&gt;
&lt;TD&gt;10%&lt;/TD&gt;
&lt;TD&gt;$3,000&lt;/TD&gt;
&lt;TD&gt;10%&lt;/TD&gt;
&lt;TD&gt;$3,200&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group2&lt;/TD&gt;
&lt;TD&gt;12%&lt;/TD&gt;
&lt;TD&gt;$15,851&lt;/TD&gt;
&lt;TD&gt;12%&lt;/TD&gt;
&lt;TD&gt;$11,701&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group2&lt;/TD&gt;
&lt;TD&gt;22%&lt;/TD&gt;
&lt;TD&gt;$54,851&lt;/TD&gt;
&lt;TD&gt;22%&lt;/TD&gt;
&lt;TD&gt;$41,476&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group2&lt;/TD&gt;
&lt;TD&gt;24%&lt;/TD&gt;
&lt;TD&gt;$86,201&lt;/TD&gt;
&lt;TD&gt;24%&lt;/TD&gt;
&lt;TD&gt;$86,201&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group2&lt;/TD&gt;
&lt;TD&gt;32%&lt;/TD&gt;
&lt;TD&gt;$162,701&lt;/TD&gt;
&lt;TD&gt;32%&lt;/TD&gt;
&lt;TD&gt;$162,726&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group2&lt;/TD&gt;
&lt;TD&gt;35%&lt;/TD&gt;
&lt;TD&gt;$206,101&lt;/TD&gt;
&lt;TD&gt;35%&lt;/TD&gt;
&lt;TD&gt;$206,101&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group2&lt;/TD&gt;
&lt;TD&gt;37%&lt;/TD&gt;
&lt;TD&gt;$512,301&lt;/TD&gt;
&lt;TD&gt;37%&lt;/TD&gt;
&lt;TD&gt;$308,176&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;want:&lt;/P&gt;
&lt;TABLE width="1553"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;byVar&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate1&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate2&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate3&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate4&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate5&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate6&lt;/TD&gt;
&lt;TD width="45"&gt;SingleRate7&lt;/TD&gt;
&lt;TD width="58"&gt;SingleBracket1&lt;/TD&gt;
&lt;TD width="58"&gt;SingleBracket2&lt;/TD&gt;
&lt;TD width="58"&gt;SingleBracket3&lt;/TD&gt;
&lt;TD width="58"&gt;SingleBracket4&lt;/TD&gt;
&lt;TD width="65"&gt;SingleBracket5&lt;/TD&gt;
&lt;TD width="65"&gt;SingleBracket6&lt;/TD&gt;
&lt;TD width="65"&gt;SingleBracket7&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate1&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate2&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate3&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate4&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate5&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate6&lt;/TD&gt;
&lt;TD width="45"&gt;MarriedRate7&lt;/TD&gt;
&lt;TD width="60"&gt;MarriedBracket1&lt;/TD&gt;
&lt;TD width="59"&gt;MarriedBracket2&lt;/TD&gt;
&lt;TD width="59"&gt;MarriedBracket3&lt;/TD&gt;
&lt;TD width="59"&gt;MarriedBracket4&lt;/TD&gt;
&lt;TD width="65"&gt;MarriedBracket5&lt;/TD&gt;
&lt;TD width="65"&gt;MarriedBracket6&lt;/TD&gt;
&lt;TD width="65"&gt;MarriedBracket7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group1&lt;/TD&gt;
&lt;TD&gt;10%&lt;/TD&gt;
&lt;TD&gt;12%&lt;/TD&gt;
&lt;TD&gt;22%&lt;/TD&gt;
&lt;TD&gt;24%&lt;/TD&gt;
&lt;TD&gt;32%&lt;/TD&gt;
&lt;TD&gt;35%&lt;/TD&gt;
&lt;TD&gt;37%&lt;/TD&gt;
&lt;TD&gt;$0&lt;/TD&gt;
&lt;TD&gt;$13,851&lt;/TD&gt;
&lt;TD&gt;$52,851&lt;/TD&gt;
&lt;TD&gt;$84,201&lt;/TD&gt;
&lt;TD&gt;$160,701&lt;/TD&gt;
&lt;TD&gt;$204,101&lt;/TD&gt;
&lt;TD&gt;$510,301&lt;/TD&gt;
&lt;TD&gt;10%&lt;/TD&gt;
&lt;TD&gt;12%&lt;/TD&gt;
&lt;TD&gt;22%&lt;/TD&gt;
&lt;TD&gt;24%&lt;/TD&gt;
&lt;TD&gt;32%&lt;/TD&gt;
&lt;TD&gt;35%&lt;/TD&gt;
&lt;TD&gt;37%&lt;/TD&gt;
&lt;TD&gt;$0&lt;/TD&gt;
&lt;TD&gt;$9,701&lt;/TD&gt;
&lt;TD&gt;$39,476&lt;/TD&gt;
&lt;TD&gt;$84,201&lt;/TD&gt;
&lt;TD&gt;$160,726&lt;/TD&gt;
&lt;TD&gt;$204,101&lt;/TD&gt;
&lt;TD&gt;$306,176&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Group2&lt;/TD&gt;
&lt;TD&gt;10%&lt;/TD&gt;
&lt;TD&gt;12%&lt;/TD&gt;
&lt;TD&gt;22%&lt;/TD&gt;
&lt;TD&gt;24%&lt;/TD&gt;
&lt;TD&gt;32%&lt;/TD&gt;
&lt;TD&gt;35%&lt;/TD&gt;
&lt;TD&gt;37%&lt;/TD&gt;
&lt;TD&gt;$3,000&lt;/TD&gt;
&lt;TD&gt;$15,851&lt;/TD&gt;
&lt;TD&gt;$54,851&lt;/TD&gt;
&lt;TD&gt;$86,201&lt;/TD&gt;
&lt;TD&gt;$162,701&lt;/TD&gt;
&lt;TD&gt;$206,101&lt;/TD&gt;
&lt;TD&gt;$512,301&lt;/TD&gt;
&lt;TD&gt;10%&lt;/TD&gt;
&lt;TD&gt;12%&lt;/TD&gt;
&lt;TD&gt;22%&lt;/TD&gt;
&lt;TD&gt;24%&lt;/TD&gt;
&lt;TD&gt;32%&lt;/TD&gt;
&lt;TD&gt;35%&lt;/TD&gt;
&lt;TD&gt;37%&lt;/TD&gt;
&lt;TD&gt;$3,200&lt;/TD&gt;
&lt;TD&gt;$11,701&lt;/TD&gt;
&lt;TD&gt;$41,476&lt;/TD&gt;
&lt;TD&gt;$86,201&lt;/TD&gt;
&lt;TD&gt;$162,726&lt;/TD&gt;
&lt;TD&gt;$206,101&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;$308,176&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&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 have been trying to adapt your code, which does work perfectly for the first case; I thought it would be easy to adapt to a by-group solution once I had that solved, but it actually isn't obvious to me how to do this. Though I am not super familiar with array work in SAS, so apologies for me ignorance there.&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jan 2020 14:27:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620813#M182476</guid>
      <dc:creator>AllSoEasy</dc:creator>
      <dc:date>2020-01-29T14:27:22Z</dc:date>
    </item>
    <item>
      <title>Re: How may I "transpose" a dataset so that it goes from multi-row, multi-column, to wide</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620814#M182477</link>
      <description>&lt;P&gt;Sure&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/40770"&gt;@AllSoEasy&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please try&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input (byVar SingleRate	SingleBracket	MarriedRate	MarriedBracket) (:$10.);
cards;
Group1	10%	$0	10%	$0
Group1	12%	$13,851	12%	$9,701
Group1	22%	$52,851	22%	$39,476
Group1	24%	$84,201	24%	$84,201
Group1	32%	$160,701	32%	$160,726
Group1	35%	$204,101	35%	$204,101
Group1	37%	$510,301	37%	$306,176
Group2	10%	$3,000	10%	$3,200
Group2	12%	$15,851	12%	$11,701
Group2	22%	$54,851	22%	$41,476
Group2	24%	$86,201	24%	$86,201
Group2	32%	$162,701	32%	$162,726
Group2	35%	$206,101	35%	$206,101
Group2	37%	$512,301	37%	$308,176
;

proc sql noprint; 
 select max(obs) into :obs 
 from  (select count(*) as obs from have group by byVar );
quit;
proc summary nway data=have missing; 
 class byvar;
 output  out = want(drop=_type_ _freq_) 
 idgroup(out[&amp;amp;obs](SingleRate--MarriedBracket)=) ;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 29 Jan 2020 14:33:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620814#M182477</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-01-29T14:33:40Z</dc:date>
    </item>
    <item>
      <title>Re: How may I "transpose" a dataset so that it goes from multi-row, multi-column, to wide</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620818#M182478</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc summary nway data=have missing; 
 output  out = want(drop=_type_ _freq_) 
 idgroup(out[&amp;amp;obs](SingleRate--MarriedBracket)=) ;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Oooh, PROC SUMMARY, I like it!&amp;nbsp;I would not have thought of doing it this way.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But isn't there a limitation here? If &amp;amp;OBS&amp;gt;100, then according to the documentation this doesn't work (I have never tried it).&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jan 2020 14:43:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620818#M182478</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-01-29T14:43:36Z</dc:date>
    </item>
    <item>
      <title>Re: How may I "transpose" a dataset so that it goes from multi-row, multi-column, to wide</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620827#M182481</link>
      <description>&lt;P&gt;Sir&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp; That's what makes you a genius and others ordinary. Great catch.&amp;nbsp; Hmm, &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/40770"&gt;@AllSoEasy&lt;/a&gt;&amp;nbsp; better to stick to the 1st solution modified for BY groups&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data temp;
 set have;
 by byvar;
 if first.byvar then n=0;
 n+1;
 array 	t SingleRate--MarriedBracket;
 do over t;
  vn=put(vname(t),32.);
  v=t;
 output;
 end;
 keep byvar vn v n ;
run;

proc transpose data=temp out=want(drop=_:) delimiter=_;
by byvar ;
id  vn n;
var v;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 29 Jan 2020 15:03:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620827#M182481</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-01-29T15:03:12Z</dc:date>
    </item>
    <item>
      <title>Re: How may I "transpose" a dataset so that it goes from multi-row, multi-column, to wide</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620835#M182482</link>
      <description>&lt;P&gt;Hi again&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/40770"&gt;@AllSoEasy&lt;/a&gt;&amp;nbsp; The following meets the order of variables the way shown in your expected output&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input (byVar SingleRate	SingleBracket	MarriedRate	MarriedBracket) (:$10.);
cards;
Group1	10%	$0	10%	$0
Group1	12%	$13,851	12%	$9,701
Group1	22%	$52,851	22%	$39,476
Group1	24%	$84,201	24%	$84,201
Group1	32%	$160,701	32%	$160,726
Group1	35%	$204,101	35%	$204,101
Group1	37%	$510,301	37%	$306,176
Group2	10%	$3,000	10%	$3,200
Group2	12%	$15,851	12%	$11,701
Group2	22%	$54,851	22%	$41,476
Group2	24%	$86,201	24%	$86,201
Group2	32%	$162,701	32%	$162,726
Group2	35%	$206,101	35%	$206,101
Group2	37%	$512,301	37%	$308,176
;

data temp;
 set have;
 by byvar;
 if first.byvar then n=0;
 n+1;
 array 	t SingleRate--MarriedBracket;
 do over t;
  n1=_i_;
  vn=put(vname(t),32.);
  v=t;
 output;
 end;
 keep byvar vn v n:;
run;

proc sort data=temp out=_temp;
by byvar n1;
run;

proc transpose data=_temp out=want(drop=_:) delimiter=_;
by byvar ;
id  vn n;
var v;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 29 Jan 2020 15:15:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620835#M182482</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-01-29T15:15:20Z</dc:date>
    </item>
    <item>
      <title>Re: How may I "transpose" a dataset so that it goes from multi-row, multi-column, to wide</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620927#M182495</link>
      <description>&lt;P&gt;This is perfect! Thank you so much!!&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jan 2020 17:55:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-may-I-quot-transpose-quot-a-dataset-so-that-it-goes-from/m-p/620927#M182495</guid>
      <dc:creator>AllSoEasy</dc:creator>
      <dc:date>2020-01-29T17:55:09Z</dc:date>
    </item>
  </channel>
</rss>

