<?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: How to roll up data according to id and date%3F in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-roll-up-data-according-to-id-and-date-3F/m-p/721268#M223533</link>
    <description>&lt;P&gt;You can coerce all the missing values to zero. This should do it, though.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data = have;
	by customer_id month;
run;

proc freq data = have noprint;
	by customer_id month;
	table product / out = have_sum;
run;

proc transpose data = have_sum out = want (drop = _:) prefix = num_;
	by customer_id month;
	id product;
	var count;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 23 Feb 2021 14:20:30 GMT</pubDate>
    <dc:creator>maguiremq</dc:creator>
    <dc:date>2021-02-23T14:20:30Z</dc:date>
    <item>
      <title>How to roll up data according to id and date%3F</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-roll-up-data-according-to-id-and-date-3F/m-p/721256#M223528</link>
      <description>&lt;P&gt;Hi everyone, I hope you can assist me with the following question:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to roll up as data according to customer id and month. My data look like this:&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;Customer_id&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Month&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Product&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;Jan2010&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Savings&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Jan2010&lt;/TD&gt;&lt;TD&gt;Cheque&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Jan2010&lt;/TD&gt;&lt;TD&gt;Savings&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Jan2010&lt;/TD&gt;&lt;TD&gt;Morgage&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Jan2010&lt;/TD&gt;&lt;TD&gt;Savings&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Jan2010&lt;/TD&gt;&lt;TD&gt;Cheque&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Jan2010&lt;/TD&gt;&lt;TD&gt;Cheque&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Feb2010&lt;/TD&gt;&lt;TD&gt;Savings&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Feb2010&lt;/TD&gt;&lt;TD&gt;Morgage&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Feb2010&lt;/TD&gt;&lt;TD&gt;Savings&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Feb2010&lt;/TD&gt;&lt;TD&gt;Cheque&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Feb2010&lt;/TD&gt;&lt;TD&gt;Cheque&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Feb2010&lt;/TD&gt;&lt;TD&gt;Cheque&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Feb2010&lt;/TD&gt;&lt;TD&gt;Morgage&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Apr2010&lt;/TD&gt;&lt;TD&gt;Morgage&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Apr2010&lt;/TD&gt;&lt;TD&gt;Savings&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Apr2010&lt;/TD&gt;&lt;TD&gt;Savings&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like output that counts the number of different products per customer per month, like this:&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;Customer_id&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Month&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;num_cheque&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;num_savings&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;num_morgage&lt;/STRONG&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Jan2010&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Jan2010&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&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;Feb2010&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Feb2010&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Apr2010&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Apr2010&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&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;</description>
      <pubDate>Tue, 23 Feb 2021 13:16:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-roll-up-data-according-to-id-and-date-3F/m-p/721256#M223528</guid>
      <dc:creator>Giraffe123</dc:creator>
      <dc:date>2021-02-23T13:16:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to roll up data according to id and date%3F</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-roll-up-data-according-to-id-and-date-3F/m-p/721268#M223533</link>
      <description>&lt;P&gt;You can coerce all the missing values to zero. This should do it, though.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data = have;
	by customer_id month;
run;

proc freq data = have noprint;
	by customer_id month;
	table product / out = have_sum;
run;

proc transpose data = have_sum out = want (drop = _:) prefix = num_;
	by customer_id month;
	id product;
	var count;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 23 Feb 2021 14:20:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-roll-up-data-according-to-id-and-date-3F/m-p/721268#M223533</guid>
      <dc:creator>maguiremq</dc:creator>
      <dc:date>2021-02-23T14:20:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to roll up data according to id and date%3F</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-roll-up-data-according-to-id-and-date-3F/m-p/721269#M223534</link>
      <description>&lt;P&gt;PROC REPORT does this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Customer_id $ Month :monyy7. Product $;
format month yymmd7.;
datalines;
1 Jan2010 Savings
1 Jan2010 Cheque
1 Jan2010 Savings
1 Jan2010 Morgage
1 Jan2010 Savings
2 Jan2010 Cheque
2 Jan2010 Cheque
1 Feb2010 Savings
1 Feb2010 Morgage
1 Feb2010 Savings
2 Feb2010 Cheque
2 Feb2010 Cheque
2 Feb2010 Cheque
2 Feb2010 Morgage
1 Apr2010 Morgage
1 Apr2010 Savings
2 Apr2010 Savings
;

options missing = 0;

proc report data=have;
column month customer_id product;
define month / group;
define customer_id / group;
define product / across;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 23 Feb 2021 14:26:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-roll-up-data-according-to-id-and-date-3F/m-p/721269#M223534</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-02-23T14:26:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to roll up data according to id and date%3F</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-roll-up-data-according-to-id-and-date-3F/m-p/721536#M223659</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Customer_id $ Month :monyy7. Product $;
format month yymmd7.;
datalines;
1 Jan2010 Savings
1 Jan2010 Cheque
1 Jan2010 Savings
1 Jan2010 Morgage
1 Jan2010 Savings
2 Jan2010 Cheque
2 Jan2010 Cheque
1 Feb2010 Savings
1 Feb2010 Morgage
1 Feb2010 Savings
2 Feb2010 Cheque
2 Feb2010 Cheque
2 Feb2010 Cheque
2 Feb2010 Morgage
1 Apr2010 Morgage
1 Apr2010 Savings
2 Apr2010 Savings
;
proc sql;
create table want as
select  Customer_id , Month ,
sum(Product = 'Cheque') as Cheque,
sum(Product = 'Savings') as Savings,
sum(Product = 'Morgage') as Morgage

 from have
  group by  Customer_id , Month 
   order by 2,1;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 24 Feb 2021 11:55:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-roll-up-data-according-to-id-and-date-3F/m-p/721536#M223659</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-02-24T11:55:34Z</dc:date>
    </item>
  </channel>
</rss>

