<?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: Pivot Dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Pivot-Dataset/m-p/710945#M218936</link>
    <description>You want the row labels repeated each time like that? &lt;BR /&gt;If you're flexible on that PROC TABULATE will work, otherwise I think you may be stuck with a manual version to get something like that.</description>
    <pubDate>Tue, 12 Jan 2021 23:34:37 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2021-01-12T23:34:37Z</dc:date>
    <item>
      <title>Pivot Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Pivot-Dataset/m-p/710939#M218934</link>
      <description>&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;DATA&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; HAVE;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;LENGTH&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; MONTH_ &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;$5.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; CATGY DESCR &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;$25.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; ;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;INPUT&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; CATGY MONTH_ TOT_CNT DESCR DESCR_PCT MONTHSUM;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;DATALINES&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;CURRENT JAN20 33 STAYED 98 1&lt;/P&gt;
&lt;P&gt;CURRENT JAN20 33 ROLLED 2 1&lt;/P&gt;
&lt;P&gt;CURRENT FEB20 25 STAYED 2 2&lt;/P&gt;
&lt;P&gt;CURRENT FEB20 25 ROLLED 4 2&lt;/P&gt;
&lt;P&gt;DEL_30 JAN20 10 STAYED 3 3&lt;/P&gt;
&lt;P&gt;DEL_30 JAN20 10 ROLLED 1 3&lt;/P&gt;
&lt;P&gt;DEL_30 FEB20 7 STAYED 2 4&lt;/P&gt;
&lt;P&gt;DEL_30 FEB20 7 ROLLED 1 4&lt;/P&gt;
&lt;P&gt;;&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;RUN&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;PROC&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;SQL&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;CREATE&lt;/FONT&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;TABLE&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; HAVE2 &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;AS&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;SELECT&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; CATGY,MONTH_,TOT_CNT,DESCR,DESCR_PCT, MONTHSUM&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;FROM&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; HAVE&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;QUIT&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;/*Initial output is here*/&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#ff0000"&gt;CATGY&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; MONTH_ TOT_CNT DESCR DESCR_PCT MONTHSUM&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CURRENT JAN20 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;33&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt; STAYED &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;98&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CURRENT JAN20 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;33&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt; ROLLED &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;2&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CURRENT FEB20 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;25&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt; STAYED &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;2&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CURRENT FEB20 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;25&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt; ROLLED &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;4&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;DEL_30 JAN20 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;10&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt; STAYED &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;3&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;3&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;DEL_30 JAN20 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;10&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt; ROLLED &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;3&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;DEL_30 FEB20 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;7&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt; STAYED &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;2&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;4&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;DEL_30 FEB20 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;7&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt; ROLLED &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;4&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Monthsum appears because I need to display based on CATGY and Month&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;P&gt;The desired output is in the attached spreadsheet because its almost impossible to paste it with the desired format directly&lt;/P&gt;
&lt;P&gt;I am trying to determine if this can be done with proc transpose, proc tabulate or proc report&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>Tue, 12 Jan 2021 22:53:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Pivot-Dataset/m-p/710939#M218934</guid>
      <dc:creator>Q1983</dc:creator>
      <dc:date>2021-01-12T22:53:35Z</dc:date>
    </item>
    <item>
      <title>Re: Pivot Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Pivot-Dataset/m-p/710945#M218936</link>
      <description>You want the row labels repeated each time like that? &lt;BR /&gt;If you're flexible on that PROC TABULATE will work, otherwise I think you may be stuck with a manual version to get something like that.</description>
      <pubDate>Tue, 12 Jan 2021 23:34:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Pivot-Dataset/m-p/710945#M218936</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2021-01-12T23:34:37Z</dc:date>
    </item>
    <item>
      <title>Re: Pivot Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Pivot-Dataset/m-p/710988#M218947</link>
      <description>&lt;P&gt;Is this close enough?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data temp;
set have; by catgy month_ notsorted;
if first.month_ then do;
    desc = "TOT_CNT";
    value = tot_cnt;
    output;
    end;
desc = descr;
value = descr_pct;
output;
run;

proc tabulate data=temp format=best. order=data;
class catgy month_ desc;
var value;
table catgy=""*desc="", month_=""*value=""*mean="";
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PGStats_0-1610512307246.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/53440iE47F59A6E5EC63B8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="PGStats_0-1610512307246.png" alt="PGStats_0-1610512307246.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Jan 2021 04:32:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Pivot-Dataset/m-p/710988#M218947</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2021-01-13T04:32:11Z</dc:date>
    </item>
    <item>
      <title>Re: Pivot Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Pivot-Dataset/m-p/710993#M218950</link>
      <description>&lt;P&gt;Note that it is probably a lot faster to just type in the 12 numbers than it is to create and attach a spreadsheet.&lt;/P&gt;
&lt;PRE&gt;                  JAN20                  FEB20
        TOT_CNT      33        TOT_CNT      25
CURRENT STAYED       98        STAYED        2
        ROLLED        2        ROLLED        4
        TOT_CNT      10        TOT_CNT       7
DEL_30  STAYED        3        STAYED        2
        ROLLED        1        ROLLED        1&lt;/PRE&gt;
&lt;P&gt;Why did you post the SQL code? It is not doing anything.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to display both the values of MONTH_SUM and TOT_CNT in the same field of a report then put them into the same variable in the SAS dataset.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
 length catgy $25 month_ $5 tot_cnt 8 descr $25 descr_pct monthsum 8 ;
 input catgy -- monthsum;
datalines;
CURRENT JAN20 33 STAYED 98 1
CURRENT JAN20 33 ROLLED 2 1
CURRENT FEB20 25 STAYED 2 2
CURRENT FEB20 25 ROLLED 4 2
DEL_30 JAN20 10 STAYED 3 3
DEL_30 JAN20 10 ROLLED 1 3
DEL_30 FEB20 7 STAYED 2 4
DEL_30 FEB20 7 ROLLED 1 4
;

data have2 ;
  set have;
  by catgy month_ notsorted;
  stat = monthsum;
  output ;
  if last.month_ then do;
    descr = 'TOT_CNT';
    stat = tot_cnt;
    output;
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Now you can make a report from that new dataset.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc report data=have2 ;
  column catgy descr stat,month_ ;
  define catgy / group ;
  define descr / group ;
  define month_ / across ' ' order=data;
  define stat / sum ' ';
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt; catgy                      descr                          JAN20      FEB20
  CURRENT                    ROLLED                             1          2
                             STAYED                             1          2
                             TOT_CNT                           33         25
  DEL_30                     ROLLED                             3          4
                             STAYED                             3          4
                             TOT_CNT                           10          7
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Jan 2021 06:00:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Pivot-Dataset/m-p/710993#M218950</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-01-13T06:00:09Z</dc:date>
    </item>
  </channel>
</rss>

