<?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 Proc Transpose and keep the first column in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Transpose-and-keep-the-first-column/m-p/724105#M80265</link>
    <description>&lt;P&gt;&lt;SPAN&gt;Hello! I am trying to&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="lia-search-match-lithium lia-search-match-lithium"&gt;transpose&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;a table keeping the first column.&amp;nbsp; I would appreciate help!&amp;nbsp; Thank you in advance!&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have this data set:&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Abrv&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;35&lt;/TD&gt;&lt;TD&gt;AE&lt;/TD&gt;&lt;TD&gt;284&lt;/TD&gt;&lt;TD&gt;5143.03&lt;/TD&gt;&lt;TD&gt;234&lt;/TD&gt;&lt;TD&gt;4692.75&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;35&lt;/TD&gt;&lt;TD&gt;AI&lt;/TD&gt;&lt;TD&gt;136&lt;/TD&gt;&lt;TD&gt;1450.67&lt;/TD&gt;&lt;TD&gt;110&lt;/TD&gt;&lt;TD&gt;1031.6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;AE&lt;/TD&gt;&lt;TD&gt;207&lt;/TD&gt;&lt;TD&gt;4389.86&lt;/TD&gt;&lt;TD&gt;93&lt;/TD&gt;&lt;TD&gt;1890.86&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;AI&lt;/TD&gt;&lt;TD&gt;130&lt;/TD&gt;&lt;TD&gt;1419.78&lt;/TD&gt;&lt;TD&gt;36&lt;/TD&gt;&lt;TD&gt;559.68&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I Would like to transpose it like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;AE_A&lt;/TD&gt;&lt;TD&gt;AI_A&lt;/TD&gt;&lt;TD&gt;AE_B&lt;/TD&gt;&lt;TD&gt;AI_B&lt;/TD&gt;&lt;TD&gt;AE_C&lt;/TD&gt;&lt;TD&gt;AI_C&lt;/TD&gt;&lt;TD&gt;AE_D&lt;/TD&gt;&lt;TD&gt;AI_D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;35&lt;/TD&gt;&lt;TD&gt;284&lt;/TD&gt;&lt;TD&gt;136&lt;/TD&gt;&lt;TD&gt;5143.03&lt;/TD&gt;&lt;TD&gt;1450.67&lt;/TD&gt;&lt;TD&gt;234&lt;/TD&gt;&lt;TD&gt;110&lt;/TD&gt;&lt;TD&gt;4692.75&lt;/TD&gt;&lt;TD&gt;1031.6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;207&lt;/TD&gt;&lt;TD&gt;130&lt;/TD&gt;&lt;TD&gt;4389.86&lt;/TD&gt;&lt;TD&gt;1419.78&lt;/TD&gt;&lt;TD&gt;93&lt;/TD&gt;&lt;TD&gt;36&lt;/TD&gt;&lt;TD&gt;1890.86&lt;/TD&gt;&lt;TD&gt;559.68&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 06 Mar 2021 01:15:32 GMT</pubDate>
    <dc:creator>PauloC</dc:creator>
    <dc:date>2021-03-06T01:15:32Z</dc:date>
    <item>
      <title>Proc Transpose and keep the first column</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Transpose-and-keep-the-first-column/m-p/724105#M80265</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hello! I am trying to&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="lia-search-match-lithium lia-search-match-lithium"&gt;transpose&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;a table keeping the first column.&amp;nbsp; I would appreciate help!&amp;nbsp; Thank you in advance!&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have this data set:&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Abrv&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;35&lt;/TD&gt;&lt;TD&gt;AE&lt;/TD&gt;&lt;TD&gt;284&lt;/TD&gt;&lt;TD&gt;5143.03&lt;/TD&gt;&lt;TD&gt;234&lt;/TD&gt;&lt;TD&gt;4692.75&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;35&lt;/TD&gt;&lt;TD&gt;AI&lt;/TD&gt;&lt;TD&gt;136&lt;/TD&gt;&lt;TD&gt;1450.67&lt;/TD&gt;&lt;TD&gt;110&lt;/TD&gt;&lt;TD&gt;1031.6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;AE&lt;/TD&gt;&lt;TD&gt;207&lt;/TD&gt;&lt;TD&gt;4389.86&lt;/TD&gt;&lt;TD&gt;93&lt;/TD&gt;&lt;TD&gt;1890.86&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;AI&lt;/TD&gt;&lt;TD&gt;130&lt;/TD&gt;&lt;TD&gt;1419.78&lt;/TD&gt;&lt;TD&gt;36&lt;/TD&gt;&lt;TD&gt;559.68&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I Would like to transpose it like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;AE_A&lt;/TD&gt;&lt;TD&gt;AI_A&lt;/TD&gt;&lt;TD&gt;AE_B&lt;/TD&gt;&lt;TD&gt;AI_B&lt;/TD&gt;&lt;TD&gt;AE_C&lt;/TD&gt;&lt;TD&gt;AI_C&lt;/TD&gt;&lt;TD&gt;AE_D&lt;/TD&gt;&lt;TD&gt;AI_D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;35&lt;/TD&gt;&lt;TD&gt;284&lt;/TD&gt;&lt;TD&gt;136&lt;/TD&gt;&lt;TD&gt;5143.03&lt;/TD&gt;&lt;TD&gt;1450.67&lt;/TD&gt;&lt;TD&gt;234&lt;/TD&gt;&lt;TD&gt;110&lt;/TD&gt;&lt;TD&gt;4692.75&lt;/TD&gt;&lt;TD&gt;1031.6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;207&lt;/TD&gt;&lt;TD&gt;130&lt;/TD&gt;&lt;TD&gt;4389.86&lt;/TD&gt;&lt;TD&gt;1419.78&lt;/TD&gt;&lt;TD&gt;93&lt;/TD&gt;&lt;TD&gt;36&lt;/TD&gt;&lt;TD&gt;1890.86&lt;/TD&gt;&lt;TD&gt;559.68&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 06 Mar 2021 01:15:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-Transpose-and-keep-the-first-column/m-p/724105#M80265</guid>
      <dc:creator>PauloC</dc:creator>
      <dc:date>2021-03-06T01:15:32Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Transpose and keep the first column</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Transpose-and-keep-the-first-column/m-p/724121#M80267</link>
      <description>&lt;P&gt;Hope the below helps:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
	infile datalines pad;
	input id $ abrv $ A B C D;
	datalines;
35 AE 284 5143.03 234 4692.75
35 AI 136 1450.67 110 1031.6
43 AE 207 4389.86 93 1890.86
43 AI 130 1419.78 36 559.68
;
run;


%macro want;

%macro _;
%mend _;

%local vars i;
%let vars = a b c d;

data want_ae;
	set have (where=(abrv = 'AE'));
	array ae{4} ae_a ae_b ae_c ae_d;

	%do i = 1 %to 4;
		ae{&amp;amp;i.} = %qscan(&amp;amp;vars.,&amp;amp;i.,%str( ));
	%end;

	drop a b c d abrv;
run;

data want_ai;
	set have (where=(abrv = 'AI'));
	array ai{4} ai_a ai_b ai_c ai_d;

	%do i = 1 %to 4;
		ai{&amp;amp;i.} = %qscan(&amp;amp;vars.,&amp;amp;i.,%str( ));
	%end;

	drop a b c d abrv;
run;

data want;
	merge want_ae want_ai;
	by id;
run;

proc sql;
	drop table want_ae;
	drop table want_ai;
%mend;

%want&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 06 Mar 2021 04:33:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-Transpose-and-keep-the-first-column/m-p/724121#M80267</guid>
      <dc:creator>qoit</dc:creator>
      <dc:date>2021-03-06T04:33:22Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Transpose and keep the first column</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Transpose-and-keep-the-first-column/m-p/724138#M80268</link>
      <description>&lt;P&gt;The simplest way is double proc transpose .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
	infile datalines pad;
	input id $ abrv $ A B C D;
	datalines;
35 AE 284 5143.03 234 4692.75
35 AI 136 1450.67 110 1031.6
43 AE 207 4389.86 93 1890.86
43 AI 130 1419.78 36 559.68
;
run;
proc transpose data=have out=temp;
by id abrv;
var a b c d;
run;
proc transpose data=temp out=want delimiter=_;
by id;
id abrv _name_;
var col1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 06 Mar 2021 09:42:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-Transpose-and-keep-the-first-column/m-p/724138#M80268</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-03-06T09:42:46Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Transpose and keep the first column</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-Transpose-and-keep-the-first-column/m-p/724150#M80269</link>
      <description>&lt;P&gt;What does this do?&amp;nbsp; I don't see where it was called.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro _;
%mend _;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/246836"&gt;@qoit&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hope the below helps:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
	infile datalines pad;
	input id $ abrv $ A B C D;
	datalines;
35 AE 284 5143.03 234 4692.75
35 AI 136 1450.67 110 1031.6
43 AE 207 4389.86 93 1890.86
43 AI 130 1419.78 36 559.68
;
run;


%macro want;

%macro _;
%mend _;

%local vars i;
%let vars = a b c d;

data want_ae;
	set have (where=(abrv = 'AE'));
	array ae{4} ae_a ae_b ae_c ae_d;

	%do i = 1 %to 4;
		ae{&amp;amp;i.} = %qscan(&amp;amp;vars.,&amp;amp;i.,%str( ));
	%end;

	drop a b c d abrv;
run;

data want_ai;
	set have (where=(abrv = 'AI'));
	array ai{4} ai_a ai_b ai_c ai_d;

	%do i = 1 %to 4;
		ai{&amp;amp;i.} = %qscan(&amp;amp;vars.,&amp;amp;i.,%str( ));
	%end;

	drop a b c d abrv;
run;

data want;
	merge want_ae want_ai;
	by id;
run;

proc sql;
	drop table want_ae;
	drop table want_ai;
%mend;

%want&lt;/CODE&gt;&lt;/PRE&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 06 Mar 2021 14:41:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-Transpose-and-keep-the-first-column/m-p/724150#M80269</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2021-03-06T14:41:03Z</dc:date>
    </item>
  </channel>
</rss>

