<?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: Reordering columns after PROC TRANSPOSE in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Reordering-columns-after-PROC-TRANSPOSE/m-p/740723#M80540</link>
    <description>&lt;P&gt;Thank you Sajid01!&lt;/P&gt;</description>
    <pubDate>Wed, 12 May 2021 05:26:00 GMT</pubDate>
    <dc:creator>J_J_J</dc:creator>
    <dc:date>2021-05-12T05:26:00Z</dc:date>
    <item>
      <title>Reordering columns after PROC TRANSPOSE</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reordering-columns-after-PROC-TRANSPOSE/m-p/740457#M80536</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;
&lt;P&gt;I'm trying to find the way to sort data after&amp;nbsp;PROC TRANSPOSE automatically&lt;/P&gt;
&lt;P&gt;I have data:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data have;&lt;BR /&gt;month=1; code='AA1111111'; text='aaa'; prior='2'; type='BB'; num=4; output;&lt;BR /&gt;month=1; code='BB1111111'; text='bbb'; prior='4'; type='AA'; num=8; output;&lt;BR /&gt;month=1; code='BB1111111'; text='bbb'; prior='4'; type='BB'; num=1; output;&lt;BR /&gt;month=1; code='CC1111111'; text='ccc'; prior='4'; type='CC'; num=5134; output;&lt;BR /&gt;month=1; code='CC1111111'; text='ccc'; prior='4'; type='DD'; num=525; output;&lt;BR /&gt;month=1; code='CC1111111'; text='ccc'; prior='4'; type='EE'; num=125; output;&lt;BR /&gt;month=2; code='BB1111111'; text='bbb'; prior='4'; type='AA'; num=4; output;&lt;BR /&gt;month=2; code='CC1111111'; text='ccc'; prior='4'; type='CC'; num=5321; output;&lt;BR /&gt;month=2; code='CC1111111'; text='ccc'; prior='4'; type='DD'; num=256; output;&lt;BR /&gt;month=2; code='CC1111111'; text='ccc'; prior='4'; type='EE'; num=151; output;&lt;BR /&gt;month=3; code='BB1111111'; text='bbb'; prior='4'; type='AA'; num=12; output;&lt;BR /&gt;month=3; code='CC1111111'; text='ccc'; prior='4'; type='CC'; num=2860; output;&lt;BR /&gt;month=3; code='CC1111111'; text='ccc'; prior='4'; type='DD'; num=655; output;&lt;BR /&gt;month=3; code='CC1111111'; text='ccc'; prior='4'; type='EE'; num=62; output;&lt;BR /&gt;month=4; code='AA1111111'; text='aaa'; prior='2'; type='AA'; num=2; output;&lt;BR /&gt;month=4; code='BB1111111'; text='bbb'; prior='4'; type='AA'; num=12; output;&lt;BR /&gt;month=4; code='CC1111111'; text='ccc'; prior='4'; type='CC'; num=1962; output;&lt;BR /&gt;month=4; code='CC1111111'; text='ccc'; prior='4'; type='DD'; num=865; output;&lt;BR /&gt;month=4; code='CC1111111'; text='ccc'; prior='4'; type='EE'; num=112; output;&lt;BR /&gt;run;&lt;BR /&gt;PROC SORT&lt;BR /&gt;DATA=have(KEEP= month num code text prior type)&lt;BR /&gt;OUT=sorted&lt;BR /&gt;;&lt;BR /&gt;BY code text prior type;&lt;BR /&gt;RUN;&lt;/P&gt;
&lt;P&gt;PROC TRANSPOSE DATA=sorted&lt;BR /&gt;OUT=want(LABEL="Transposed WORK.WANT")&lt;BR /&gt;NAME=Source&lt;BR /&gt;LABEL=Label&lt;/P&gt;
&lt;P&gt;;&lt;BR /&gt;BY code text prior type ;&lt;BR /&gt;ID month ;&lt;BR /&gt;VAR num;&lt;/P&gt;
&lt;P&gt;RUN; QUIT;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and get the result:&lt;/P&gt;
&lt;TABLE width="367"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="74"&gt;code&lt;/TD&gt;
&lt;TD width="32"&gt;text&lt;/TD&gt;
&lt;TD width="37"&gt;prior&lt;/TD&gt;
&lt;TD width="35"&gt;type&lt;/TD&gt;
&lt;TD width="49"&gt;Source&lt;/TD&gt;
&lt;TD width="35"&gt;4&lt;/TD&gt;
&lt;TD width="35"&gt;1&lt;/TD&gt;
&lt;TD width="35"&gt;2&lt;/TD&gt;
&lt;TD width="35"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;AA1111111&lt;/TD&gt;
&lt;TD&gt;aaa&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;AA&lt;/TD&gt;
&lt;TD&gt;num&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;AA1111111&lt;/TD&gt;
&lt;TD&gt;aaa&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;BB&lt;/TD&gt;
&lt;TD&gt;num&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;BB1111111&lt;/TD&gt;
&lt;TD&gt;bbb&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;AA&lt;/TD&gt;
&lt;TD&gt;num&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;BB1111111&lt;/TD&gt;
&lt;TD&gt;bbb&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;BB&lt;/TD&gt;
&lt;TD&gt;num&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CC1111111&lt;/TD&gt;
&lt;TD&gt;ccc&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;CC&lt;/TD&gt;
&lt;TD&gt;num&lt;/TD&gt;
&lt;TD&gt;1962&lt;/TD&gt;
&lt;TD&gt;5134&lt;/TD&gt;
&lt;TD&gt;5321&lt;/TD&gt;
&lt;TD&gt;2860&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CC1111111&lt;/TD&gt;
&lt;TD&gt;ccc&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;DD&lt;/TD&gt;
&lt;TD&gt;num&lt;/TD&gt;
&lt;TD&gt;865&lt;/TD&gt;
&lt;TD&gt;525&lt;/TD&gt;
&lt;TD&gt;256&lt;/TD&gt;
&lt;TD&gt;655&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CC1111111&lt;/TD&gt;
&lt;TD&gt;ccc&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;EE&lt;/TD&gt;
&lt;TD&gt;num&lt;/TD&gt;
&lt;TD&gt;112&lt;/TD&gt;
&lt;TD&gt;125&lt;/TD&gt;
&lt;TD&gt;151&lt;/TD&gt;
&lt;TD&gt;62&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;but I need it in the next order and with total:&lt;/P&gt;
&lt;TABLE width="548"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;code&lt;/TD&gt;
&lt;TD width="30"&gt;text&lt;/TD&gt;
&lt;TD width="30"&gt;prior&lt;/TD&gt;
&lt;TD width="81"&gt;type&lt;/TD&gt;
&lt;TD width="81"&gt;Source&lt;/TD&gt;
&lt;TD width="48"&gt;1&lt;/TD&gt;
&lt;TD width="48"&gt;2&lt;/TD&gt;
&lt;TD width="53"&gt;3&lt;/TD&gt;
&lt;TD width="53"&gt;4&lt;/TD&gt;
&lt;TD width="60"&gt;Total&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;AA1111111&lt;/TD&gt;
&lt;TD width="30"&gt;aaa&lt;/TD&gt;
&lt;TD width="30"&gt;2&lt;/TD&gt;
&lt;TD width="81"&gt;AA&lt;/TD&gt;
&lt;TD width="81"&gt;num&lt;/TD&gt;
&lt;TD width="48"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="48"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="53"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="53"&gt;2&lt;/TD&gt;
&lt;TD width="60"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;AA1111111&lt;/TD&gt;
&lt;TD width="30"&gt;aaa&lt;/TD&gt;
&lt;TD width="30"&gt;2&lt;/TD&gt;
&lt;TD width="81"&gt;BB&lt;/TD&gt;
&lt;TD width="81"&gt;num&lt;/TD&gt;
&lt;TD width="48"&gt;4&lt;/TD&gt;
&lt;TD width="48"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="53"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="53"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="60"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;BB1111111&lt;/TD&gt;
&lt;TD width="30"&gt;bbb&lt;/TD&gt;
&lt;TD width="30"&gt;4&lt;/TD&gt;
&lt;TD width="81"&gt;AA&lt;/TD&gt;
&lt;TD width="81"&gt;num&lt;/TD&gt;
&lt;TD width="48"&gt;8&lt;/TD&gt;
&lt;TD width="48"&gt;4&lt;/TD&gt;
&lt;TD width="53"&gt;12&lt;/TD&gt;
&lt;TD width="53"&gt;12&lt;/TD&gt;
&lt;TD width="60"&gt;36&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;BB1111111&lt;/TD&gt;
&lt;TD width="30"&gt;bbb&lt;/TD&gt;
&lt;TD width="30"&gt;4&lt;/TD&gt;
&lt;TD width="81"&gt;BB&lt;/TD&gt;
&lt;TD width="81"&gt;num&lt;/TD&gt;
&lt;TD width="48"&gt;1&lt;/TD&gt;
&lt;TD width="48"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="53"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="53"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="60"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;CC1111111&lt;/TD&gt;
&lt;TD width="30"&gt;ccc&lt;/TD&gt;
&lt;TD width="30"&gt;4&lt;/TD&gt;
&lt;TD width="81"&gt;CC&lt;/TD&gt;
&lt;TD width="81"&gt;num&lt;/TD&gt;
&lt;TD width="48"&gt;5134&lt;/TD&gt;
&lt;TD width="48"&gt;5321&lt;/TD&gt;
&lt;TD width="53"&gt;2860&lt;/TD&gt;
&lt;TD width="53"&gt;1962&lt;/TD&gt;
&lt;TD width="60"&gt;15277&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;CC1111111&lt;/TD&gt;
&lt;TD width="30"&gt;ccc&lt;/TD&gt;
&lt;TD width="30"&gt;4&lt;/TD&gt;
&lt;TD width="81"&gt;DD&lt;/TD&gt;
&lt;TD width="81"&gt;num&lt;/TD&gt;
&lt;TD width="48"&gt;525&lt;/TD&gt;
&lt;TD width="48"&gt;256&lt;/TD&gt;
&lt;TD width="53"&gt;655&lt;/TD&gt;
&lt;TD width="53"&gt;865&lt;/TD&gt;
&lt;TD width="60"&gt;2301&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;CC1111111&lt;/TD&gt;
&lt;TD width="30"&gt;ccc&lt;/TD&gt;
&lt;TD width="30"&gt;4&lt;/TD&gt;
&lt;TD width="81"&gt;EE&lt;/TD&gt;
&lt;TD width="81"&gt;num&lt;/TD&gt;
&lt;TD width="48"&gt;125&lt;/TD&gt;
&lt;TD width="48"&gt;151&lt;/TD&gt;
&lt;TD width="53"&gt;62&lt;/TD&gt;
&lt;TD width="53"&gt;112&lt;/TD&gt;
&lt;TD width="60"&gt;450&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Each month the number of columns will change from 1 to 12 and should be in the order from 1 to 12 (from left to right) and total should be calculated for filled months.&lt;/P&gt;
&lt;P&gt;Can you help me please?&lt;/P&gt;</description>
      <pubDate>Wed, 12 May 2021 05:18:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reordering-columns-after-PROC-TRANSPOSE/m-p/740457#M80536</guid>
      <dc:creator>J_J_J</dc:creator>
      <dc:date>2021-05-12T05:18:00Z</dc:date>
    </item>
    <item>
      <title>Re: Reordering columns after PROC TRANSPOSE</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reordering-columns-after-PROC-TRANSPOSE/m-p/740499#M80537</link>
      <description>&lt;P&gt;First question: do you really need a data set? When people worry about the order of variables and include any sort of "TOTAL" that means that people are reading the data and that typically means a "report" is more in order. Report procedures like Report or Tabulate will pay much&amp;nbsp; more attention to "order" as that is often an option in the syntax than Proc Transpose, which takes the first value encountered.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One possible way:&lt;/P&gt;
&lt;PRE&gt;Proc tabulate data=have;
   class code month text prior type;
   var num;
   table code*	text*prior*	type,
         (month All='Total')*num=''*sum=''*f=best8.
         /misstext=' '
   ;
run;&lt;/PRE&gt;</description>
      <pubDate>Tue, 11 May 2021 14:57:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reordering-columns-after-PROC-TRANSPOSE/m-p/740499#M80537</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2021-05-11T14:57:56Z</dc:date>
    </item>
    <item>
      <title>Re: Reordering columns after PROC TRANSPOSE</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reordering-columns-after-PROC-TRANSPOSE/m-p/740543#M80538</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I absolutely agree with&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;&amp;nbsp;.&lt;/P&gt;
&lt;P&gt;Unfortunately, if you really need an output table, you cannot use ODS OUTPUT TABLE= on PROC TABULATE. Well, you can, but the table will not be transposed anymore&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt;&lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt;.&lt;/P&gt;
&lt;P&gt;For re-ordering columns, see here:&lt;/P&gt;
&lt;P&gt;Usage Note 8395: How to reorder the variables in a SAS® data set?&lt;/P&gt;
&lt;P&gt;&lt;A href="https://support.sas.com/kb/8/395.html" target="_blank"&gt;https://support.sas.com/kb/8/395.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Koen&lt;/P&gt;</description>
      <pubDate>Tue, 11 May 2021 16:41:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reordering-columns-after-PROC-TRANSPOSE/m-p/740543#M80538</guid>
      <dc:creator>sbxkoenk</dc:creator>
      <dc:date>2021-05-11T16:41:56Z</dc:date>
    </item>
    <item>
      <title>Re: Reordering columns after PROC TRANSPOSE</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reordering-columns-after-PROC-TRANSPOSE/m-p/740637#M80539</link>
      <description>&lt;P&gt;Hello&lt;BR /&gt;The following code does what you wanted.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;option validvarname=ANY;
data HOIAT_ARV2;
Retain code text prior type Source  '1'n '2'n '3'n '4'n;
set HOIAT_ARV;
TOTAl=sum(of '1'n -'4'n);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Your output will be&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2021-05-11 6.56.29 PM.png" style="width: 420px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/59228iBFF1A9512C38F27C/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2021-05-11 6.56.29 PM.png" alt="Screenshot 2021-05-11 6.56.29 PM.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;While one may be able to use numbers as &lt;STRONG&gt;column headings / variable names&lt;/STRONG&gt;, but that is not the default, Better to have a more meaningful name instead of 1 2 3 4 etc.&lt;/P&gt;</description>
      <pubDate>Tue, 11 May 2021 22:59:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reordering-columns-after-PROC-TRANSPOSE/m-p/740637#M80539</guid>
      <dc:creator>Sajid01</dc:creator>
      <dc:date>2021-05-11T22:59:26Z</dc:date>
    </item>
    <item>
      <title>Re: Reordering columns after PROC TRANSPOSE</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reordering-columns-after-PROC-TRANSPOSE/m-p/740723#M80540</link>
      <description>&lt;P&gt;Thank you Sajid01!&lt;/P&gt;</description>
      <pubDate>Wed, 12 May 2021 05:26:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reordering-columns-after-PROC-TRANSPOSE/m-p/740723#M80540</guid>
      <dc:creator>J_J_J</dc:creator>
      <dc:date>2021-05-12T05:26:00Z</dc:date>
    </item>
  </channel>
</rss>

