<?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: Transposing two variable to columns in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631934#M187281</link>
    <description>&lt;P&gt;The %transpose macro handles that task quite easily. e.g.:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input ID Date :mmddyy8. Report;
  format date mmddyy8.;
  cards;
1  3/12/16   20
1  4/13/16    30
1  5/16/16   40
2  6/15/16   50
;
run;

filename tr url 'https://raw.githubusercontent.com/art297/transpose/master/transpose.sas';
%include tr ;

%transpose(data=have, out=want, by=ID, var=Date Report)
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 13 Mar 2020 15:47:10 GMT</pubDate>
    <dc:creator>art297</dc:creator>
    <dc:date>2020-03-13T15:47:10Z</dc:date>
    <item>
      <title>Transposing two variable to columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631721#M187192</link>
      <description>&lt;P&gt;Hey,&lt;/P&gt;
&lt;P&gt;I want to transpose two variable to columns. Can you help me getting the output as listed at the bottom&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Datalines;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ID Date Report&lt;/P&gt;
&lt;P&gt;1&amp;nbsp; 3/12/16 &amp;nbsp; 20&lt;/P&gt;
&lt;P&gt;1&amp;nbsp; 4/13/16 &amp;nbsp;&amp;nbsp; 30&lt;/P&gt;
&lt;P&gt;1&amp;nbsp; 5/16/16 &amp;nbsp; 40&lt;/P&gt;
&lt;P&gt;2&amp;nbsp; 6/15/16 &amp;nbsp; 50&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Output :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ID&amp;nbsp; Date 1 &amp;nbsp; Date 2 &amp;nbsp; Date 3 &amp;nbsp;&amp;nbsp; Report1 Report2 Report3&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp; 3/12/16&amp;nbsp; 4/13/16&amp;nbsp; 5/16/16 &amp;nbsp; 20 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 40&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; proc transpose data = test out = test2 ;
 var Date Report;
 by id ;
 run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Mar 2020 22:08:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631721#M187192</guid>
      <dc:creator>knargis160</dc:creator>
      <dc:date>2020-03-12T22:08:51Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing two variable to columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631727#M187194</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID Date :mmddyy8. Report;
format date mmddyy8.;
cards;

1  3/12/16   20

1  4/13/16    30

1  5/16/16   40

2  6/15/16   50
;

proc sql;
 select max(cnt) into :n 
 from (select count(*)as cnt from have group by id);
quit;

%let n=&amp;amp;n;

data want;
 do _n_=1 by 1 until(last.id);
  set have;
  by id;
  array  dt(*) date1-date&amp;amp;n;
  array rpt(*) report1-report&amp;amp;n;
  dt(_n_)=date;
  rpt(_n_)=report;
 end;
 format date: mmddyy8. ;
 drop date report;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 12 Mar 2020 22:30:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631727#M187194</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-03-12T22:30:41Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing two variable to columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631783#M187214</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID Date :mmddyy8. Report;
format date mmddyy8.;
cards;
1  3/12/16   20
1  4/13/16    30
1  5/16/16   40
2  6/15/16   50
;

proc sql noprint;
 select max(cnt) into :n 
 from (select count(*)as cnt from have group by id);
quit;
proc summary data=have nway;
class id;
output out=want idgroup(out[&amp;amp;n] (date report)=);
run;
proc print data=want;run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 13 Mar 2020 04:42:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631783#M187214</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2020-03-13T04:42:09Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing two variable to columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631833#M187232</link>
      <description>&lt;P&gt;Do you know any other why to use proc transpose and accomplish this step?&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2020 12:52:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631833#M187232</guid>
      <dc:creator>knargis160</dc:creator>
      <dc:date>2020-03-13T12:52:45Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing two variable to columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631837#M187235</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/78622"&gt;@ghosh&lt;/a&gt; can you help with this question?&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2020 12:58:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631837#M187235</guid>
      <dc:creator>knargis160</dc:creator>
      <dc:date>2020-03-13T12:58:47Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing two variable to columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631847#M187240</link>
      <description>&lt;P&gt;HI&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/176514"&gt;@knargis160&lt;/a&gt;&amp;nbsp; Please see if this helps&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input ID Date :mmddyy8. Report;
format date mmddyy10.;
cards;

1  3/12/16   20

1  4/13/16    30

1  5/16/16   40

2  6/15/16   50
;
/*Need a row number for each id*/
data _have;
 set have;
 by id;
 if first.id then n=1;
 else n+1;
run;


proc transpose data=_have out=temp;
by id n;
var date report;
run;
proc sort data=temp;
by id _name_ n;
run;

proc transpose data=temp out=want(drop=_name_);
by id ;
var col1;
id _name_ n;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 13 Mar 2020 13:14:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631847#M187240</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-03-13T13:14:56Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing two variable to columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631934#M187281</link>
      <description>&lt;P&gt;The %transpose macro handles that task quite easily. e.g.:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input ID Date :mmddyy8. Report;
  format date mmddyy8.;
  cards;
1  3/12/16   20
1  4/13/16    30
1  5/16/16   40
2  6/15/16   50
;
run;

filename tr url 'https://raw.githubusercontent.com/art297/transpose/master/transpose.sas';
%include tr ;

%transpose(data=have, out=want, by=ID, var=Date Report)
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2020 15:47:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631934#M187281</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2020-03-13T15:47:10Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing two variable to columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631978#M187304</link>
      <description>&lt;P&gt;Apologies, your desired output makes no sense to me, I'd think you may wish to show which report value is related to a specific date.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Others have given you excellent answers, however, if you wish to just display your data, here is a suggestion:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID Date :mmddyy8. Report;
cards;
1  3/12/16   20
1  4/13/16   30
1  5/16/16   40
2  6/15/16   50
;
proc report nowd out=want;
columns ID (Date, Report);
define id  /group ;
define date /across order=data; 
define report /analysis;
format date date10.;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="trans.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/36849i7A85A5ADA0467EA5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="trans.png" alt="trans.png" /&gt;&lt;/span&gt;In case you do need a dataset, check out the want dataset and rename the _Cn_ vars accordingly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2020 16:57:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/631978#M187304</guid>
      <dc:creator>ghosh</dc:creator>
      <dc:date>2020-03-13T16:57:34Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing two variable to columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/632300#M187453</link>
      <description>&lt;P&gt;Proc TRANPOSE does not support the transposition of more than one VAR into a single overall resultant BY row.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Transpose each column separately, so as to maintain original column formatting, and then MERGE.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input id: date: mmddyy8. report:; format date mmddyy10.; datalines;
1  3/12/16   20
1  4/13/16   30
1  5/16/16   40
2  6/15/16   50
;

proc transpose data=have out=want_1 prefix=date_;
by id;
var date;
run;

proc transpose data=have out=want_2 prefix=report_;
by id;
var report;
run;

data want;
  merge want_1 want_2;
  by id;
  drop _name_;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 16 Mar 2020 00:57:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-two-variable-to-columns/m-p/632300#M187453</guid>
      <dc:creator>RichardDeVen</dc:creator>
      <dc:date>2020-03-16T00:57:53Z</dc:date>
    </item>
  </channel>
</rss>

