<?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 to transpose data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-transpose-data/m-p/748647#M235131</link>
    <description>&lt;P&gt;It's not really transposing. You want to get counts within by groups. You could use proc means, proc SQL, proc summary.&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input ID var1 $ var2 $;
cards;
1 HOME APPLE
1 AWAY BANANA
2 HOME BANANA
2 HOME APPLE
;
proc print;
run;

proc sql;
	create table sums as 
	select ID, sum(var1='HOME') as home, sum(var1='AWAY') as away,
	sum(var2='APPLE') as apple, sum(var2='BANANA') as banana
		from test
		group by ID;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 17 Jun 2021 11:25:29 GMT</pubDate>
    <dc:creator>tarheel13</dc:creator>
    <dc:date>2021-06-17T11:25:29Z</dc:date>
    <item>
      <title>How to transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-transpose-data/m-p/748645#M235130</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;
&lt;P&gt;I'd like to transpose my table with counting occurrences.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Source table:&lt;/P&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="33.333333333333336%" height="30px"&gt;ID&lt;/TD&gt;
&lt;TD width="33.333333333333336%" height="30px"&gt;VAR1&lt;/TD&gt;
&lt;TD width="33.333333333333336%" height="30px"&gt;VAR2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="33.333333333333336%" height="30px"&gt;1&lt;/TD&gt;
&lt;TD width="33.333333333333336%" height="30px"&gt;HOME&lt;/TD&gt;
&lt;TD width="33.333333333333336%" height="30px"&gt;APPLE&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="33.333333333333336%" height="30px"&gt;1&lt;/TD&gt;
&lt;TD width="33.333333333333336%" height="30px"&gt;AWAY&lt;/TD&gt;
&lt;TD width="33.333333333333336%" height="30px"&gt;BANANA&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="33.333333333333336%" height="30px"&gt;2&lt;/TD&gt;
&lt;TD width="33.333333333333336%" height="30px"&gt;HOME&lt;/TD&gt;
&lt;TD width="33.333333333333336%" height="30px"&gt;BANANA&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;2&lt;/TD&gt;
&lt;TD height="30px"&gt;HOME&lt;/TD&gt;
&lt;TD height="30px"&gt;APPLE&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;I wish I get result:&lt;/P&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;ID&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;HOME&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;AWAY&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;APPLE&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;BANANA&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;1&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;1&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;1&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;1&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;2&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;2&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;1&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;How can I do it?&lt;/P&gt;</description>
      <pubDate>Thu, 17 Jun 2021 11:08:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-transpose-data/m-p/748645#M235130</guid>
      <dc:creator>PatrykSAS</dc:creator>
      <dc:date>2021-06-17T11:08:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-transpose-data/m-p/748647#M235131</link>
      <description>&lt;P&gt;It's not really transposing. You want to get counts within by groups. You could use proc means, proc SQL, proc summary.&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input ID var1 $ var2 $;
cards;
1 HOME APPLE
1 AWAY BANANA
2 HOME BANANA
2 HOME APPLE
;
proc print;
run;

proc sql;
	create table sums as 
	select ID, sum(var1='HOME') as home, sum(var1='AWAY') as away,
	sum(var2='APPLE') as apple, sum(var2='BANANA') as banana
		from test
		group by ID;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 17 Jun 2021 11:25:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-transpose-data/m-p/748647#M235131</guid>
      <dc:creator>tarheel13</dc:creator>
      <dc:date>2021-06-17T11:25:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-transpose-data/m-p/748653#M235135</link>
      <description>&lt;P&gt;Without having any values in code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID $ VAR1 $ VAR2 $;
datalines;
1 HOME  APPLE
1 AWAY  BANANA
2 HOME  BANANA
2 HOME  APPLE
;

data first;
set have;
array vars {*} var:;
do i = 1 to dim(vars);
  var = vars{i};
  output;
end;
run;

proc freq data=first noprint;
tables id*var / out=want_long;
run;

proc transpose data=want_long out=want (drop=_name_ _label_);
by id;
var count;
id var;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 17 Jun 2021 11:50:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-transpose-data/m-p/748653#M235135</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-06-17T11:50:01Z</dc:date>
    </item>
  </channel>
</rss>

