<?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: Aggregation and Group by processing in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309899#M66785</link>
    <description>&lt;P&gt;Proc tabulate does generate an OUTPUT dataset that can be manipulated into that format.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Another option is combining proc freqs or proc sqls. &amp;nbsp;Because you're combining at different levels, its probably easiest to do multiple tables and combine them for your final results unless you're super confident in your coding skills.&lt;/P&gt;</description>
    <pubDate>Mon, 07 Nov 2016 23:20:56 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2016-11-07T23:20:56Z</dc:date>
    <item>
      <title>Aggregation and Group by processing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309868#M66770</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hi all,&lt;/P&gt;
&lt;P&gt;I’m having trouble figuring this out. Any help is greatly appreciated&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a data set which contains customer sales data by store and online channels.&amp;nbsp; I need to take this data set and calculate:&amp;nbsp;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;The total sales by channel&lt;/LI&gt;
&lt;LI&gt;The percent of total sales by channel&lt;/LI&gt;
&lt;LI&gt;The total sales by product type (store and online together)&lt;/LI&gt;
&lt;LI&gt;The percent of total sales by product type (store and Online together)&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Here is the table I start with:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="406"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="103"&gt;&lt;STRONG&gt;CHANNEL_UNIT&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="94"&gt;&lt;STRONG&gt;CUSTOMER_ID&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="145"&gt;&lt;STRONG&gt;prod_type&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="64"&gt;&lt;STRONG&gt;prod_sales&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;17131&lt;/TD&gt;
&lt;TD&gt;STORE_HOME&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;17131&lt;/TD&gt;
&lt;TD&gt;STORE_CORE_APP_M&lt;/TD&gt;
&lt;TD&gt;526.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;17131&lt;/TD&gt;
&lt;TD&gt;STORE_CHILDREN&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;17131&lt;/TD&gt;
&lt;TD&gt;STORE_CORE_APP_W&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;17131&lt;/TD&gt;
&lt;TD&gt;ONLINE_HOME&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;17131&lt;/TD&gt;
&lt;TD&gt;ONLINE_CHILDREN&lt;/TD&gt;
&lt;TD&gt;196.99&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;17131&lt;/TD&gt;
&lt;TD&gt;ONLINE_CORE_APP_M&lt;/TD&gt;
&lt;TD&gt;119.96&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;17131&lt;/TD&gt;
&lt;TD&gt;ONLINE_CORE_APP_W&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;4687704&lt;/TD&gt;
&lt;TD&gt;STORE_HOME&lt;/TD&gt;
&lt;TD&gt;67.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;4687704&lt;/TD&gt;
&lt;TD&gt;STORE_CORE_APP_M&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;4687704&lt;/TD&gt;
&lt;TD&gt;STORE_CHILDREN&lt;/TD&gt;
&lt;TD&gt;1518&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;4687704&lt;/TD&gt;
&lt;TD&gt;STORE_CORE_APP_W&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;4687704&lt;/TD&gt;
&lt;TD&gt;ONLINE_HOME&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;4687704&lt;/TD&gt;
&lt;TD&gt;ONLINE_CHILDREN&lt;/TD&gt;
&lt;TD&gt;120&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;4687704&lt;/TD&gt;
&lt;TD&gt;ONLINE_CORE_APP_M&lt;/TD&gt;
&lt;TD&gt;223&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;4687704&lt;/TD&gt;
&lt;TD&gt;ONLINE_CORE_APP_W&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the output table I'm trying to&amp;nbsp;achieve:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="1312"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="88"&gt;&lt;STRONG&gt;CUSTOMER_ID&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="70"&gt;&lt;STRONG&gt;Total_Sales&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="75"&gt;&lt;STRONG&gt;Store_Sales&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="82"&gt;&lt;STRONG&gt;Online_Sales&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="129"&gt;&lt;STRONG&gt;Percent_Store_Sales&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="128"&gt;&lt;STRONG&gt;Percent_Online_Sales&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="68"&gt;&lt;STRONG&gt;TTL_HOME&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="110"&gt;&lt;STRONG&gt;TTL_CORE_APP_M&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="110"&gt;&lt;STRONG&gt;TTL_CORE_APP_W&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="130"&gt;&lt;STRONG&gt;TTL_STORE_CHILDREN&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="64"&gt;&lt;STRONG&gt;Per_HOME&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="64"&gt;&lt;STRONG&gt;Per_CORE_APP_M&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="64"&gt;&lt;STRONG&gt;Per_CORE_APP_W&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="130"&gt;&lt;STRONG&gt;Per_STORE_CHILDREN&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;17131&lt;/TD&gt;
&lt;TD&gt;$843.75&lt;/TD&gt;
&lt;TD&gt;$526.80&lt;/TD&gt;
&lt;TD&gt;$316.95&lt;/TD&gt;
&lt;TD&gt;62.4%&lt;/TD&gt;
&lt;TD&gt;60.2%&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$646.76&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$196.99&lt;/TD&gt;
&lt;TD&gt;0.0%&lt;/TD&gt;
&lt;TD&gt;76.7%&lt;/TD&gt;
&lt;TD&gt;0.0%&lt;/TD&gt;
&lt;TD&gt;23.3%&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4687704&lt;/TD&gt;
&lt;TD&gt;$1,928.50&lt;/TD&gt;
&lt;TD&gt;$1,585.50&lt;/TD&gt;
&lt;TD&gt;$343.00&lt;/TD&gt;
&lt;TD&gt;82.2%&lt;/TD&gt;
&lt;TD&gt;21.6%&lt;/TD&gt;
&lt;TD&gt;$67.50&lt;/TD&gt;
&lt;TD&gt;$223.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$1,638.00&lt;/TD&gt;
&lt;TD&gt;3.5%&lt;/TD&gt;
&lt;TD&gt;11.6%&lt;/TD&gt;
&lt;TD&gt;0.0%&lt;/TD&gt;
&lt;TD&gt;84.9%&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Mon, 07 Nov 2016 21:02:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309868#M66770</guid>
      <dc:creator>RobertNYC</dc:creator>
      <dc:date>2016-11-07T21:02:19Z</dc:date>
    </item>
    <item>
      <title>Re: Aggregation and Group by processing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309872#M66772</link>
      <description>&lt;P&gt;Take a look at PROC TABULATE or PROC REPORT.&lt;/P&gt;</description>
      <pubDate>Mon, 07 Nov 2016 21:09:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309872#M66772</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2016-11-07T21:09:09Z</dc:date>
    </item>
    <item>
      <title>Re: Aggregation and Group by processing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309880#M66775</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need an actual table, not a report output.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Nov 2016 21:24:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309880#M66775</guid>
      <dc:creator>RobertNYC</dc:creator>
      <dc:date>2016-11-07T21:24:59Z</dc:date>
    </item>
    <item>
      <title>Re: Aggregation and Group by processing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309899#M66785</link>
      <description>&lt;P&gt;Proc tabulate does generate an OUTPUT dataset that can be manipulated into that format.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Another option is combining proc freqs or proc sqls. &amp;nbsp;Because you're combining at different levels, its probably easiest to do multiple tables and combine them for your final results unless you're super confident in your coding skills.&lt;/P&gt;</description>
      <pubDate>Mon, 07 Nov 2016 23:20:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309899#M66785</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-11-07T23:20:56Z</dc:date>
    </item>
    <item>
      <title>Re: Aggregation and Group by processing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309903#M66786</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/6196"&gt;@RobertNYC&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need an actual table, not a report output.&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;If you need a data set then the question becomes what will you do next with the result? In a large number of cases making data wide like that increases coding complexity.&lt;/P&gt;</description>
      <pubDate>Mon, 07 Nov 2016 23:46:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309903#M66786</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-11-07T23:46:33Z</dc:date>
    </item>
    <item>
      <title>Re: Aggregation and Group by processing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309947#M66797</link>
      <description>&lt;PRE&gt;
It is easy for SQL.



data have;
infile cards truncover expandtabs;
input CHANNEL_UNIT	CUSTOMER_ID	prod_type : $40.	prod_sales;
flag=scan(prod_type,1,'_');
cards;
1	17131	STORE_HOME	0
1	17131	STORE_CORE_APP_M	526.8
1	17131	STORE_CHILDREN	0
1	17131	STORE_CORE_APP_W	0
3	17131	ONLINE_HOME	0
3	17131	ONLINE_CHILDREN	196.99
3	17131	ONLINE_CORE_APP_M	119.96
3	17131	ONLINE_CORE_APP_W	0
1	4687704	STORE_HOME	67.5
1	4687704	STORE_CORE_APP_M	0
1	4687704	STORE_CHILDREN	1518
1	4687704	STORE_CORE_APP_W	0
3	4687704	ONLINE_HOME	0
3	4687704	ONLINE_CHILDREN	120
3	4687704	ONLINE_CORE_APP_M	223
3	4687704	ONLINE_CORE_APP_W	0
;
run;
proc sql;
create table want as
 select customer_id,
  sum(prod_sales) as total_sales,
  (select sum(prod_sales) from have 
   where customer_id=a.customer_id and flag='STORE') as store_sales,
   
  calculated total_sales/(select sum(prod_sales) from have) as percent_total,
  calculated store_sales/(select sum(prod_sales) from have where flag='STORE') 
  as percent_store
 
  from have as a
   group by customer_id;
 quit;





&lt;/PRE&gt;</description>
      <pubDate>Tue, 08 Nov 2016 05:00:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/309947#M66797</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-11-08T05:00:45Z</dc:date>
    </item>
    <item>
      <title>Re: Aggregation and Group by processing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/310101#M66835</link>
      <description>&lt;P&gt;Hi&amp;nbsp; &lt;SPAN class="login-bold"&gt;&lt;A id="link_8" class="lia-link-navigation lia-page-link lia-user-name-link" href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884" target="_self"&gt;ballardw&lt;/A&gt;,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="login-bold"&gt;So, the reason way I have to r&lt;/SPAN&gt;estructure the data is this way is because I am building a logistic model and I need to have the input variables transformed appropriately. Thanks. &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 14:50:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-and-Group-by-processing/m-p/310101#M66835</guid>
      <dc:creator>RobertNYC</dc:creator>
      <dc:date>2016-11-08T14:50:50Z</dc:date>
    </item>
  </channel>
</rss>

