<?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: Help with Transpose function in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Help-with-Transpose-function/m-p/746691#M234267</link>
    <description>&lt;P&gt;Please post data in usable form, those tables are nice to look at, but lack information about type and length of the variables.&lt;/P&gt;
&lt;P&gt;This could be a solution:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data transposed;
	set have;
	
	length dateStr $ 6 variable $ 1 value 8 VarName $ 32;
	
	array vars K_202001--Z_202003;
	
	do i = 1 to dim(vars);
		VarName = vname(vars[i]);
		variable = first(VarName);
		dateStr = scan(VarName, 2, '_');
		value = vars[i];
		output;
	end;
	
	keep dateStr variable value Account_id Application_ID;
run;

proc sort data=work.transposed;
	by  dateStr Account_id Application_ID variable;
run;

proc transpose data=transposed out=want(drop=_name_);
	by dateStr Account_id Application_ID ;
	var value;
	id variable;
run; &lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 09 Jun 2021 09:07:25 GMT</pubDate>
    <dc:creator>andreas_lds</dc:creator>
    <dc:date>2021-06-09T09:07:25Z</dc:date>
    <item>
      <title>Help with Transpose function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-with-Transpose-function/m-p/746683#M234263</link>
      <description>&lt;P&gt;Dear SAS users,&lt;BR /&gt;&lt;BR /&gt;Is there any Advance SAS user which can help me transpose some data.&lt;BR /&gt;Here is the example of starting table how it looks:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ACCOUNT_ID&lt;/TD&gt;&lt;TD&gt;APPLICATION_ID&lt;/TD&gt;&lt;TD&gt;K_202001&lt;/TD&gt;&lt;TD&gt;J_202001&lt;/TD&gt;&lt;TD&gt;Z_202001&lt;/TD&gt;&lt;TD&gt;K_202002&lt;/TD&gt;&lt;TD&gt;J_202002&lt;/TD&gt;&lt;TD&gt;Z_202002&lt;/TD&gt;&lt;TD&gt;K_202003&lt;/TD&gt;&lt;TD&gt;J_202003&lt;/TD&gt;&lt;TD&gt;Z_202003&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;24&lt;/TD&gt;&lt;TD&gt;25&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;And this is the results I want to have:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;DATE&lt;/TD&gt;&lt;TD&gt;ACCOUNT_ID&lt;/TD&gt;&lt;TD&gt;APPLICATION_ID&lt;/TD&gt;&lt;TD&gt;K&lt;/TD&gt;&lt;TD&gt;J&lt;/TD&gt;&lt;TD&gt;Z&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202001&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202002&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202002&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202002&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202003&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202003&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;24&lt;/TD&gt;&lt;TD&gt;25&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;202003&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;Thank you in advance brothers and sisters &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Kind regards,&lt;BR /&gt;Nikola&lt;/P&gt;</description>
      <pubDate>Wed, 09 Jun 2021 07:43:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-with-Transpose-function/m-p/746683#M234263</guid>
      <dc:creator>Vidanovic</dc:creator>
      <dc:date>2021-06-09T07:43:59Z</dc:date>
    </item>
    <item>
      <title>Re: Help with Transpose function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-with-Transpose-function/m-p/746691#M234267</link>
      <description>&lt;P&gt;Please post data in usable form, those tables are nice to look at, but lack information about type and length of the variables.&lt;/P&gt;
&lt;P&gt;This could be a solution:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data transposed;
	set have;
	
	length dateStr $ 6 variable $ 1 value 8 VarName $ 32;
	
	array vars K_202001--Z_202003;
	
	do i = 1 to dim(vars);
		VarName = vname(vars[i]);
		variable = first(VarName);
		dateStr = scan(VarName, 2, '_');
		value = vars[i];
		output;
	end;
	
	keep dateStr variable value Account_id Application_ID;
run;

proc sort data=work.transposed;
	by  dateStr Account_id Application_ID variable;
run;

proc transpose data=transposed out=want(drop=_name_);
	by dateStr Account_id Application_ID ;
	var value;
	id variable;
run; &lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 09 Jun 2021 09:07:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-with-Transpose-function/m-p/746691#M234267</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2021-06-09T09:07:25Z</dc:date>
    </item>
  </channel>
</rss>

