<?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: Summarize Table by Creating two new Columns (Metric Name, Metric Value) in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Summarize-Table-by-Creating-two-new-Columns-Metric-Name-Metric/m-p/671329#M201575</link>
    <description>&lt;P&gt;If year were character, this would be the most simple code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc summary data=have nway;
by product year;
var _numeric_;
output out=sum (drop=_type_ _freq_) sum()=;
run;

proc transpose data=sum out=want (rename=(_name_=metric_name col1=metric_value));
by product year;
var _numeric_;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If, OTOH, you positively know that you have only cost and revenue, then a data step does it it in one operation:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
by product year;
if first.year
then do;
  _cost = cost;
  _revenue = revenue;
end;
else do;
  _cost + cost;
  _revenue + revenue;
end;
if last.year;
metric_name = 'cost   ';
metric_value = _cost;
output;
metric_name = 'revenue';
metric_value = _revenue;
output;
keep product year metric_name metric_value;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 22 Jul 2020 10:30:19 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2020-07-22T10:30:19Z</dc:date>
    <item>
      <title>Summarize Table by Creating two new Columns (Metric Name, Metric Value)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summarize-Table-by-Creating-two-new-Columns-Metric-Name-Metric/m-p/671323#M201570</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have the following table:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Product&lt;/TD&gt;&lt;TD&gt;Year&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Cost&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Revenue&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2020&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;100&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;110&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2020&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;120&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;90&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;2020&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;220&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;250&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;2020&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;230&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;250&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to create a new table, which replaces the numerical Columns (Cost &amp;amp; Revenue) with two new Columns: text "Metric Name" &amp;amp;&amp;nbsp; Numerical "Metric Value" and summarize them as below;&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;Product&lt;/TD&gt;&lt;TD&gt;Year&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Metric Name&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Metric Value&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2020&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Cost&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;220&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2020&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Revenue&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;200&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;2020&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Cost&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;450&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;2020&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Revenue&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;500&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does anybody know how to do this ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much,&lt;/P&gt;</description>
      <pubDate>Wed, 22 Jul 2020 10:10:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summarize-Table-by-Creating-two-new-Columns-Metric-Name-Metric/m-p/671323#M201570</guid>
      <dc:creator>VCucu</dc:creator>
      <dc:date>2020-07-22T10:10:44Z</dc:date>
    </item>
    <item>
      <title>Re: Summarize Table by Creating two new Columns (Metric Name, Metric Value)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summarize-Table-by-Creating-two-new-Columns-Metric-Name-Metric/m-p/671324#M201571</link>
      <description>&lt;P&gt;Is this for reporting purposes or do you want a SAS data set like this?&lt;/P&gt;</description>
      <pubDate>Wed, 22 Jul 2020 10:13:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summarize-Table-by-Creating-two-new-Columns-Metric-Name-Metric/m-p/671324#M201571</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-07-22T10:13:14Z</dc:date>
    </item>
    <item>
      <title>Re: Summarize Table by Creating two new Columns (Metric Name, Metric Value)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summarize-Table-by-Creating-two-new-Columns-Metric-Name-Metric/m-p/671325#M201572</link>
      <description>i would like a dataset like this. will use it for reporting in a later step with proc report. thank you</description>
      <pubDate>Wed, 22 Jul 2020 10:15:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summarize-Table-by-Creating-two-new-Columns-Metric-Name-Metric/m-p/671325#M201572</guid>
      <dc:creator>VCucu</dc:creator>
      <dc:date>2020-07-22T10:15:36Z</dc:date>
    </item>
    <item>
      <title>Re: Summarize Table by Creating two new Columns (Metric Name, Metric Value)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summarize-Table-by-Creating-two-new-Columns-Metric-Name-Metric/m-p/671327#M201574</link>
      <description>&lt;P&gt;There you go. Seems easier to report directly though.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Product $ Year Cost Revenue;
datalines;
A 2020 100 110
A 2020 120 90
B 2020 220 250
B 2020 230 250
;

data want(keep=Product Year Metric_Name Metric_Value);
   c = 0; r = 0;

   do until (last.Product);
      set have;
      by Product;
      c + Cost;
      r + Revenue;
   end;

   Metric_Name  = "Cost   ";
   Metric_Value = c;
   output;

   Metric_Name  = "Revenue";
   Metric_Value = r;
   output;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 22 Jul 2020 10:23:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summarize-Table-by-Creating-two-new-Columns-Metric-Name-Metric/m-p/671327#M201574</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-07-22T10:23:06Z</dc:date>
    </item>
    <item>
      <title>Re: Summarize Table by Creating two new Columns (Metric Name, Metric Value)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summarize-Table-by-Creating-two-new-Columns-Metric-Name-Metric/m-p/671329#M201575</link>
      <description>&lt;P&gt;If year were character, this would be the most simple code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc summary data=have nway;
by product year;
var _numeric_;
output out=sum (drop=_type_ _freq_) sum()=;
run;

proc transpose data=sum out=want (rename=(_name_=metric_name col1=metric_value));
by product year;
var _numeric_;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If, OTOH, you positively know that you have only cost and revenue, then a data step does it it in one operation:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
by product year;
if first.year
then do;
  _cost = cost;
  _revenue = revenue;
end;
else do;
  _cost + cost;
  _revenue + revenue;
end;
if last.year;
metric_name = 'cost   ';
metric_value = _cost;
output;
metric_name = 'revenue';
metric_value = _revenue;
output;
keep product year metric_name metric_value;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 22 Jul 2020 10:30:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summarize-Table-by-Creating-two-new-Columns-Metric-Name-Metric/m-p/671329#M201575</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-07-22T10:30:19Z</dc:date>
    </item>
  </channel>
</rss>

