<?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: Transpose data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269954#M53546</link>
    <description>&lt;P&gt;I gave sample &amp;nbsp;data please check. still i am getting same reults: please verify it. dono how to put missing for other observations&lt;/P&gt;
&lt;P&gt;data have;&lt;BR /&gt;input Item Category $ Subcategory $ Vol_1 Vol_2 Vol_3 Rev_1 Rev_2 Rev_3 Profit_1 Profit_2 Profit_3 SP_1 SP_2 SP_3 sp_4 sp_5;&lt;BR /&gt;cards;&lt;BR /&gt;1 ABC cv 2 3 4 10 34 55 12 12 11 20 21 22 23 33&lt;BR /&gt;2 xyz xc 4 6 7 23 44 66 14 15 12 23 23 25 26 12&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;</description>
    <pubDate>Thu, 12 May 2016 04:17:18 GMT</pubDate>
    <dc:creator>ramchinna24</dc:creator>
    <dc:date>2016-05-12T04:17:18Z</dc:date>
    <item>
      <title>Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269718#M53471</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My data is:&lt;/P&gt;
&lt;TABLE width="998"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Item&lt;/TD&gt;
&lt;TD width="64"&gt;Category&lt;/TD&gt;
&lt;TD width="102"&gt;Subcategory&lt;/TD&gt;
&lt;TD width="64"&gt;Vol_1&lt;/TD&gt;
&lt;TD width="64"&gt;Vol_2&lt;/TD&gt;
&lt;TD width="64"&gt;Vol_3&lt;/TD&gt;
&lt;TD width="64"&gt;Rev_1&lt;/TD&gt;
&lt;TD width="64"&gt;Rev_2&lt;/TD&gt;
&lt;TD width="64"&gt;Rev_3&lt;/TD&gt;
&lt;TD width="64"&gt;Profit_1&lt;/TD&gt;
&lt;TD width="64"&gt;Profit_2&lt;/TD&gt;
&lt;TD width="64"&gt;Profit_3&lt;/TD&gt;
&lt;TD width="64"&gt;SP_1&lt;/TD&gt;
&lt;TD width="64"&gt;SP_2&lt;/TD&gt;
&lt;TD width="64"&gt;SP_3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;ABC&lt;/TD&gt;
&lt;TD&gt;cv&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;34&lt;/TD&gt;
&lt;TD&gt;55&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;21&lt;/TD&gt;
&lt;TD&gt;22&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;xc&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;TD&gt;23&lt;/TD&gt;
&lt;TD&gt;44&lt;/TD&gt;
&lt;TD&gt;66&lt;/TD&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;23&lt;/TD&gt;
&lt;TD&gt;23&lt;/TD&gt;
&lt;TD&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need to transpose like:&lt;/P&gt;
&lt;TABLE width="818"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Item&lt;/TD&gt;
&lt;TD width="64"&gt;Category&lt;/TD&gt;
&lt;TD width="102"&gt;Subcategory&lt;/TD&gt;
&lt;TD width="64"&gt;Volume&lt;/TD&gt;
&lt;TD width="102"&gt;Volume_Fig&lt;/TD&gt;
&lt;TD width="64"&gt;Revenue&lt;/TD&gt;
&lt;TD width="102"&gt;Revenue_Fig&lt;/TD&gt;
&lt;TD width="64"&gt;Profit&lt;/TD&gt;
&lt;TD width="64"&gt;Profit_Fig&lt;/TD&gt;
&lt;TD width="64"&gt;SP&lt;/TD&gt;
&lt;TD width="64"&gt;Sp_Fig&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;ABC&lt;/TD&gt;
&lt;TD&gt;cv&lt;/TD&gt;
&lt;TD&gt;Vol_1&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;Rev_1&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;Profit_1&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;SP_1&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&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;TD&gt;Vol_2&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;Rev_2&lt;/TD&gt;
&lt;TD&gt;34&lt;/TD&gt;
&lt;TD&gt;Profit_2&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;SP_2&lt;/TD&gt;
&lt;TD&gt;21&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&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;TD&gt;Vol_3&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;Rev_3&lt;/TD&gt;
&lt;TD&gt;55&lt;/TD&gt;
&lt;TD&gt;Profit_3&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;SP_3&lt;/TD&gt;
&lt;TD&gt;22&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Ganesh K&lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2016 13:26:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269718#M53471</guid>
      <dc:creator>Ganeshk</dc:creator>
      <dc:date>2016-05-11T13:26:26Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269727#M53472</link>
      <description>&lt;P&gt;Hi mate.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Maybe this can help you, check&amp;nbsp;&lt;A title="Overview: TRANSPOSE Procedure" href="http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#transpose-overview.htm" target="_blank"&gt;Overview: TRANSPOSE Procedure&lt;/A&gt;&amp;nbsp;or&amp;nbsp;&lt;A title="SOME USES (AND HANDY ABUSES) OF PROC TRANSPOSE " href="http://www2.sas.com/proceedings/sugi29/267-29.pdf" target="_blank"&gt;SOME USES (AND HANDY ABUSES) OF PROC TRANSPOSE &lt;/A&gt;, here you may find the type of transpose you need.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope this helps.&lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2016 13:58:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269727#M53472</guid>
      <dc:creator>DartRodrigo</dc:creator>
      <dc:date>2016-05-11T13:58:47Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269729#M53474</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Its a good idea to post test data in the form of a datastep, as such this code is not tested:&lt;/P&gt;
&lt;PRE&gt;data want;
  set have;
  array vol_{3};
  array rev_{3};
  array profit_{3};
  array sp_{3};
  do i=1 to 3;
    volume=cats("Vol_",put(i,1.));
    volume_fig=vol_{i};
    revenue=cats("Rev_",put(i,1.));
    revenue_fig=rev_{i};
    profit=cats("Profit_",put(i,1.));
    profit_fig=profit_{i};
    sp=cats("SP_",put(i,1.));
    sp_fig=sp_{i};
    output;
  end;
run;&lt;/PRE&gt;</description>
      <pubDate>Wed, 11 May 2016 14:05:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269729#M53474</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2016-05-11T14:05:00Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269747#M53481</link>
      <description>&lt;P&gt;Check this if its useful. Its lenghty but final dataset has the output what you expected...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data test;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Input Item Category $&amp;nbsp; Subcategory $ Vol_1 Vol_2 Vol_3 Rev_1 Rev_2 Rev_3 Profit_1 Profit_2 Profit_3 SP_1 SP_2 SP_3;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cards;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 ABC cv 2 3 4 10 34 55 12 12 11 20 21 22&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 xyz xc 4 6 7 23 44 66 14 15 12 23 23 25&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data Vol(keep= Item Category Subcategory Vol_1 Vol_2 Vol_3);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set test;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data Rev(keep= Item Category Subcategory Rev_1 Rev_2 Rev_3);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set test;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data Profit(keep= Item Category Subcategory Profit_1 Profit_2 Profit_3);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set test;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data SP(keep= Item Category Subcategory SP_1 SP_2 SP_3);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set test;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc transpose data=Vol&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out=Vol_tp(rename=(col1=Volume_Fig))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name=Volume;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by Item category Subcategory ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label volume=" ";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc transpose data=Rev&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out=Rev_tp(rename=(col1=Revenue_Fig))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name=Revenue;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by Item category Subcategory ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label Revenue=" ";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc transpose data=Profit&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out=Profit_tp(rename=(col1=Profit_Fig))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name=Profit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by Item category Subcategory ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label Profit=" ";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc transpose data=SP&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out=SP_tp(rename=(col1=SP_Fig))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name=SP;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by Item category Subcategory ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label SP=" ";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data final;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; merge vol_tp rev_tp profit_tp sp_tp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by item category subcategory;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2016 14:37:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269747#M53481</guid>
      <dc:creator>Rushikesh</dc:creator>
      <dc:date>2016-05-11T14:37:03Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269750#M53482</link>
      <description>&lt;P&gt;A tip on that code, if you change the four initial datasteps then you avoid the need to tranpose each one:&lt;/P&gt;
&lt;PRE&gt;data d1 (keep=item category subcategory vol_1 rev_1 profit_1 sp_1
              rename=(vol_1=vol rev_1=rev profit_1=profit sp_1=sp));
  set test;
run
data d2 (keep=item category subcategory vol_2 rev_2 profit_2 sp_2
              rename=(vol_2=vol rev_2=rev profit_2=profit sp_2=sp));
  set test;
run;
data d3 (keep=item category subcategory vol_3 rev_3 profit_3 sp_3
              rename=(vol_3=vol rev_3=rev profit_3=profit sp_3=sp));
  set test;
run;
data want;
  set d1 d2 d3;
run;
&lt;/PRE&gt;
&lt;P&gt;However, why do all those steps when you can do it one?&lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2016 14:44:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269750#M53482</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2016-05-11T14:44:48Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269754#M53483</link>
      <description>&lt;P&gt;Hi RW9,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried executing your code. The final structure of the output table is perfect as per the requirement but the values are dragged over observation. Also there are some unnecessary columns in final dataset. See below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data want;&lt;BR /&gt;1130&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set test;&lt;BR /&gt;1131&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array vol_{3};&lt;BR /&gt;1132&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array rev_{3};&lt;BR /&gt;1133&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array profit_{3};&lt;BR /&gt;1134&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array sp_{3};&lt;BR /&gt;1135&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i=1 to 3;&lt;BR /&gt;1136&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; volume=cats("Vol_",put(i,1.));&lt;BR /&gt;1137&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; volume_fig=vol_{i};&lt;BR /&gt;1138&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; revenue=cats("Rev_",put(i,1.));&lt;BR /&gt;1139&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; revenue_fig=rev_{i};&lt;BR /&gt;1140&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; profit=cats("Profit_",put(i,1.));&lt;BR /&gt;1141&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; profit_fig=profit_{i};&lt;BR /&gt;1142&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sp=cats("SP_",put(i,1.));&lt;BR /&gt;1143&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sp_fig=sp_{i};&lt;BR /&gt;1144&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;1145&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;1146&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;NOTE: There were 2 observations read from the data set WORK.TEST.&lt;BR /&gt;&lt;FONT color="#ff0000"&gt;NOTE: The data set WORK.WANT has 6 observations and 24 variables.&lt;/FONT&gt;&lt;BR /&gt;NOTE: Compressing data set WORK.WANT increased size by 100.00 percent.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Compressed is 2 pages; un-compressed would require 1 pages.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.39 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But with the code i shared, we get the final table structure as well as desired values and columns perfectly. Still Your code and use of arrays is really impressive. It reduced a lot of typing work. Thanks for sharing that technique.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-Rishi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2016 15:05:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269754#M53483</guid>
      <dc:creator>Rushikesh</dc:creator>
      <dc:date>2016-05-11T15:05:10Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269758#M53485</link>
      <description>&lt;P&gt;Do the variables, Volume, Revenue, Profit that hold the values Volume_1, Volume_2, Volume_3, Revenue_1 etc add any value?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If this is actually how your data looks, I would suggest dropping those variables and adding a single record counter that held 1/2/3 instead.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just a thought.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2016 15:15:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269758#M53485</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-05-11T15:15:40Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269769#M53487</link>
      <description>&lt;P&gt;data want(drop=i);&lt;BR /&gt;set have;&lt;BR /&gt;array a Vol_1 Vol_2 Vol_3 Rev_1 Rev_2 Rev_3 Profit_1 Profit_2 Profit_3 SP_1 SP_2 SP_3;&lt;BR /&gt;do i=1 to 3;&lt;BR /&gt;volume=vname(a(i));&lt;BR /&gt;volume_fig=a(i);&lt;BR /&gt;Revenue=vname(a(i+3));&lt;BR /&gt;Revenue_fig=a(i+3);&lt;BR /&gt;Profit=vname(a(i+6));&lt;BR /&gt;Profit_fig=a(i+6);&lt;BR /&gt;SP=vname(a(i+9));&lt;BR /&gt;SP_fig=a(i+9);&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;drop Vol_1 Vol_2 Vol_3 Rev_1 Rev_2 Rev_3 Profit_1 Profit_2 Profit_3 SP_1 SP_2 SP_3;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2016 15:33:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269769#M53487</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2016-05-11T15:33:57Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269928#M53538</link>
      <description>&lt;P&gt;For same problem: Suppose if there is extra column Sp_4 with some values then how to write program? please help.&lt;/P&gt;</description>
      <pubDate>Thu, 12 May 2016 02:07:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269928#M53538</guid>
      <dc:creator>ramchinna24</dc:creator>
      <dc:date>2016-05-12T02:07:05Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269939#M53541</link>
      <description>&lt;P&gt;Use proc transpose firstly ,then use MERGE Skill me ,Arthur.T, Matt proposed:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/resources/papers/proceedings15/2785-2015.pdf" target="_blank"&gt;http://support.sas.com/resources/papers/proceedings15/2785-2015.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover expandtabs ;
input Item	Category $ Subcategory $ 
Vol_1 Vol_2 Vol_3 
Rev_1 Rev_2 Rev_3 
Profit_1 Profit_2 Profit_3
SP_1 SP_2 SP_3;
cards;
1 ABC cv 2 3 4 10 34 55 12 12 11 20 21 22
2 xyz xc 4 6 7 23 44 66 14 15 12 23 23 25
;
run;

proc transpose data=have out=temp;
by Item	Category Subcategory;
run;
data temp;
 set temp;
 key=upcase(scan(_name_,1,'_'));
run;
proc sql;
select distinct catt('temp(where=(key="',key,'") 
 rename=(_name_=',key,' col1=',key,'_Fig))') 
 into : list separated by ' '
 from temp;
quit;
data want;
 merge &amp;amp;list ;
 by Item	Category Subcategory;
 drop key;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 12 May 2016 03:05:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269939#M53541</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-05-12T03:05:15Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269946#M53543</link>
      <description>&lt;P&gt;It is almost right but Vol_1 vol2 vol_3 and other rev_ and profit_ variables has three types only but &amp;nbsp;sp_ has 4 variables&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;what i mean is &amp;nbsp;vol_3,rev_3 are repeating &amp;nbsp;in 4th observation when we have not equal type of variables.so to stop repeating and place "." &amp;nbsp;in repeating places . because we may&amp;nbsp;have different&amp;nbsp;types of variables(for eg: &amp;nbsp;vol_1-vol6,7, and so on). so can you please tell me how to achieve it?&lt;/P&gt;
&lt;P&gt;your previous code:&lt;/P&gt;
&lt;P&gt;with sp_4 extra column:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data test;&lt;BR /&gt;input Item Category $ Subcategory $ Vol_1 Vol_2 Vol_3 Rev_1 Rev_2 Rev_3 Profit_1 Profit_2 Profit_3 SP_1 SP_2 SP_3 sp_4;&lt;BR /&gt;cards;&lt;BR /&gt;1 ABC cv 2 3 4 10 34 55 12 12 11 20 21 22 23&lt;BR /&gt;2 xyz xc 4 6 7 23 44 66 14 15 12 23 23 25 26&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;proc transpose data=have out=temp;&lt;BR /&gt;by Item Category Subcategory;&lt;BR /&gt;run;&lt;BR /&gt;data temp;&lt;BR /&gt; set temp;&lt;BR /&gt; key=upcase(scan(_name_,1,'_'));&lt;BR /&gt;run;&lt;BR /&gt;proc sql;&lt;BR /&gt;select distinct catt('temp(where=(key="',key,'") &lt;BR /&gt; rename=(_name_=',key,' col1=',key,'_Fig))') &lt;BR /&gt; into : list separated by ' '&lt;BR /&gt; from temp;&lt;BR /&gt;quit;&lt;BR /&gt;data want;&lt;BR /&gt; merge &amp;amp;list ;&lt;BR /&gt; by Item Category Subcategory;&lt;BR /&gt; drop key;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Thu, 12 May 2016 03:34:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269946#M53543</guid>
      <dc:creator>ramchinna24</dc:creator>
      <dc:date>2016-05-12T03:34:16Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269949#M53545</link>
      <description>&lt;P&gt;This code is far from optimal, but I think you'll understand it and should be able to modify and extend it if necessary.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It would help if you posted data that was closer to your actual problem, or state the limitations up front.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It's based on&amp;nbsp;@RW9 solution above, but extended to account for unknown number of variables per variable type.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Untested, since there's no sample data and I'm too lazy to make any.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  array vol_{*}; *Use asterisk to indicate unknown dimension, uses all variables starting with vol_;
  array rev_{*};
  array profit_{*};
  array sp_{*};

max_counter = max(dim(vol_), dim(rev_), dim(profit_), dim(sp_));

  do i=1 to max_counter;
   call missing(volume, revenue, profit, spend); *Set to missing at top of array;
   *Assign if value exists, otherwise it stays missing; 
   if i &amp;lt;= dim(vol_) then volume=vol_(i);
    if i &amp;lt;= dim(rev_) then revenue=rev_(i);
    if i &amp;lt;= dim(profit_) then profit=prof_(i);
    if i &amp;lt;= dim(sp_) then spend=sp_(i);
    output;
  end;


run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 May 2016 03:56:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269949#M53545</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-05-12T03:56:30Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269954#M53546</link>
      <description>&lt;P&gt;I gave sample &amp;nbsp;data please check. still i am getting same reults: please verify it. dono how to put missing for other observations&lt;/P&gt;
&lt;P&gt;data have;&lt;BR /&gt;input Item Category $ Subcategory $ Vol_1 Vol_2 Vol_3 Rev_1 Rev_2 Rev_3 Profit_1 Profit_2 Profit_3 SP_1 SP_2 SP_3 sp_4 sp_5;&lt;BR /&gt;cards;&lt;BR /&gt;1 ABC cv 2 3 4 10 34 55 12 12 11 20 21 22 23 33&lt;BR /&gt;2 xyz xc 4 6 7 23 44 66 14 15 12 23 23 25 26 12&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Thu, 12 May 2016 04:17:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269954#M53546</guid>
      <dc:creator>ramchinna24</dc:creator>
      <dc:date>2016-05-12T04:17:18Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269960#M53550</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/51397"&gt;@ramchinna24&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;still i am getting same reults: please verify it. dono how to put missing for other observations&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What does that mean? I don't know what same results means. The code below works for me, I'm leaving the rest up to you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Item Category $ Subcategory $ Vol_1 Vol_2 Vol_3 Rev_1 Rev_2 Rev_3 Profit_1 Profit_2 Profit_3 SP_1 SP_2 SP_3 sp_4 sp_5;
cards;
1 ABC cv 2 3 4 10 34 55 12 12 11 20 21 22 23 33
2 xyz xc 4 6 7 23 44 66 14 15 12 23 23 25 26 12
;
run;

data want;
  set have;
  array vol_{*} vol_:; *Use asterisk to indicate unknown dimension, uses all variables starting with vol_;
  array rev_{*} rev_:;
  array profit_{*} profit_:;
  array sp_{*} sp_:;

max_counter = max(dim(vol_), dim(rev_), dim(profit_), dim(sp_));

  do i=1 to max_counter;
   call missing(volume, revenue, profit, spend); *Set to missing at top of array;
   *Assign if value exists, otherwise it stays missing; 
   if i &amp;lt;= dim(vol_) then volume=vol_(i);
    if i &amp;lt;= dim(rev_) then revenue=rev_(i);
    if i &amp;lt;= dim(profit_) then profit=profit_(i);
    if i &amp;lt;= dim(sp_) then spend=sp_(i);
    &lt;BR /&gt;    If I&amp;gt;1 then call missing(category, subcategory);&lt;BR /&gt;&lt;BR /&gt;    Output;
  end;

drop vol_: rev_: profit_: sp_:;

run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 12 May 2016 05:36:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269960#M53550</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-05-12T05:36:22Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269963#M53552</link>
      <description>&lt;P&gt;Hi Ksharp&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need one more solution for same program:&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 528pt; border-spacing: 0px; box-sizing: inherit; orphans: auto; widows: 1; -webkit-text-stroke-width: 0px;" border="0" width="704" cellspacing="0" cellpadding="0"&gt;&lt;COLGROUP&gt;&lt;COL style="width: 48pt;" span="11" width="64" /&gt; &lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR style="height: 29.25pt; box-sizing: inherit;"&gt;
&lt;TD width="64" height="39" class="xl64" style="height: 29.25pt; width: 48pt; box-sizing: inherit;"&gt;Item&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-left: none; width: 48pt; box-sizing: inherit;"&gt;Category&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-left: none; width: 48pt; box-sizing: inherit;"&gt;Subcategory&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-left: none; width: 48pt; box-sizing: inherit;"&gt;Volume&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-left: none; width: 48pt; box-sizing: inherit;"&gt;Volume_Fig&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-left: none; width: 48pt; box-sizing: inherit;"&gt;Revenue&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-left: none; width: 48pt; box-sizing: inherit;"&gt;Revenue_Fig&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-left: none; width: 48pt; box-sizing: inherit;"&gt;Profit&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-left: none; width: 48pt; box-sizing: inherit;"&gt;Profit_Fig&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-left: none; width: 48pt; box-sizing: inherit;"&gt;SP&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-left: none; width: 48pt; box-sizing: inherit;"&gt;Sp_Fig&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.75pt; box-sizing: inherit;"&gt;
&lt;TD width="64" height="21" align="right" class="xl64" style="height: 15.75pt; border-top: none; width: 48pt; box-sizing: inherit;"&gt;1&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;ABC&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;cv&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;Vol_1&lt;/TD&gt;
&lt;TD width="64" align="right" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;2&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;Rev_1&lt;/TD&gt;
&lt;TD width="64" align="right" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;10&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;Profit_1&lt;/TD&gt;
&lt;TD width="64" align="right" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;12&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;SP_1&lt;/TD&gt;
&lt;TD width="64" align="right" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;20&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.75pt; box-sizing: inherit;"&gt;
&lt;TD width="64" height="21" class="xl64" style="height: 15.75pt; border-top: none; width: 48pt; box-sizing: inherit;"&gt;0&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;Vol_2&lt;/TD&gt;
&lt;TD width="64" align="right" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;3&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;Rev_2&lt;/TD&gt;
&lt;TD width="64" align="right" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;34&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;Profit_2&lt;/TD&gt;
&lt;TD width="64" align="right" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;12&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;SP_2&lt;/TD&gt;
&lt;TD width="64" align="right" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;21&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.75pt; box-sizing: inherit;"&gt;
&lt;TD width="64" height="21" class="xl64" style="height: 15.75pt; border-top: none; width: 48pt; box-sizing: inherit;"&gt;0&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;Vol_3&lt;/TD&gt;
&lt;TD width="64" align="right" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;4&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;Rev_3&lt;/TD&gt;
&lt;TD width="64" align="right" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;55&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;Profit_3&lt;/TD&gt;
&lt;TD width="64" align="right" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;11&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;SP_3&lt;/TD&gt;
&lt;TD width="64" align="right" class="xl64" style="border-top: none; border-left: none; width: 48pt; box-sizing: inherit;"&gt;22&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here only for first observation should only contain values. Rest of all obs. should have "0" (numeric) or " "(character)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Ganesh K&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 May 2016 05:25:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269963#M53552</guid>
      <dc:creator>Ganeshk</dc:creator>
      <dc:date>2016-05-12T05:25:34Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269966#M53553</link>
      <description>&lt;P&gt;OK. Here is. I just add two more statements at the end of code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input Item Category $ Subcategory $ Vol_1 Vol_2 Vol_3 Rev_1 Rev_2 Rev_3 Profit_1 Profit_2 Profit_3 SP_1 SP_2 SP_3 sp_4;
cards;
1 ABC cv 2 3 4 10 34 55 12 12 11 20 21 22 23
2 xyz xc 4 6 7 23 44 66 14 15 12 23 23 25 26
;
run;

proc transpose data=test out=temp;
by Item	Category Subcategory;
run;
data temp;
 set temp;
 key=upcase(scan(_name_,1,'_'));
run;
proc sql;
select distinct catt('temp(where=(key="',key,'") 
 rename=(_name_=',key,' col1=',key,'_Fig))') 
 into : list separated by ' '
 from temp;
quit;
data want;
 merge &amp;amp;list ;
 by Item	Category Subcategory;
 output;
 call missing(of _all_);
 drop key;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 12 May 2016 05:35:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269966#M53553</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-05-12T05:35:15Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269967#M53554</link>
      <description>Perfect.. Thank you Xia</description>
      <pubDate>Thu, 12 May 2016 05:38:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269967#M53554</guid>
      <dc:creator>ramchinna24</dc:creator>
      <dc:date>2016-05-12T05:38:23Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269969#M53555</link>
      <description>&lt;P&gt;It sounds like you are making a report. If it was, &amp;nbsp;try proc report is able to achieve that goal.&lt;/P&gt;
&lt;P&gt;Otherwise, Here is :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input Item Category $ Subcategory $ Vol_1 Vol_2 Vol_3 Rev_1 Rev_2 Rev_3 Profit_1 Profit_2 Profit_3 SP_1 SP_2 SP_3 sp_4;
cards;
1 ABC cv 2 3 4 10 34 55 12 12 11 20 21 22 23
2 xyz xc 4 6 7 23 44 66 14 15 12 23 23 25 26
;
run;

proc transpose data=test out=temp;
by Item	Category Subcategory;
run;
data temp;
 set temp;
 key=upcase(scan(_name_,1,'_'));
run;
proc sql;
select distinct catt('temp(where=(key="',key,'") 
 rename=(_name_=',key,' col1=',key,'_Fig))') 
 into : list separated by ' '
 from temp;
quit;
data want;
 merge &amp;amp;list ;
 by Item	Category Subcategory;
 output;
 call missing(of _all_);
 drop key;
run;
data want;
 set want;
 by Item Category Subcategory;
 if not first.Subcategory then call missing(Item,Category,Subcategory);
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 12 May 2016 05:38:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-data/m-p/269969#M53555</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-05-12T05:38:52Z</dc:date>
    </item>
  </channel>
</rss>

