<?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: Count days within months per  ID in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/659014#M197445</link>
    <description>&lt;BR /&gt;First question: are your dates SAS date values?&lt;BR /&gt;Yes.&lt;BR /&gt;&lt;BR /&gt;Second: do you want a data set for further analysis or a report?&lt;BR /&gt;I want a dataset&lt;BR /&gt;&lt;BR /&gt;Third: why do you show $ at the end of variable names?&lt;BR /&gt;It was a mistake, sorry.&amp;nbsp;</description>
    <pubDate>Mon, 15 Jun 2020 14:38:38 GMT</pubDate>
    <dc:creator>Chris_LK_87</dc:creator>
    <dc:date>2020-06-15T14:38:38Z</dc:date>
    <item>
      <title>Count days within months per  ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/658969#M197424</link>
      <description>&lt;P&gt;Hello!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a dataset that contains multiple rows for individuals. Each individual can appear on multiple rows depending the day of the event of purchase for product.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data Have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ind_ID$&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Product$&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Day$&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;1&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;DVD&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2018-02-11&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1&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;DVD&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2018-02-17&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;1&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;TV&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2018-03-01&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2&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;DVD&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2018-02-15&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2&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;Car&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2018-03-16&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2&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;Bike&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2018-05-15&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to have a dataset where I can count the number of purchase by counting the days and then sum it for each individual and mounth.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ind_ID$&amp;nbsp; &amp;nbsp;Num_Februari$&amp;nbsp; &amp;nbsp;Num_March$&amp;nbsp; &amp;nbsp; &amp;nbsp;Num_april$ &amp;nbsp;Num_May$&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&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;1&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;&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&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;1&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; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jun 2020 13:10:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/658969#M197424</guid>
      <dc:creator>Chris_LK_87</dc:creator>
      <dc:date>2020-06-15T13:10:30Z</dc:date>
    </item>
    <item>
      <title>Re: Count days within months per  ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/658979#M197429</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data Have;
input 
Ind_ID$            Product$         Day : yymmdd10.  ;   
cards;
1                             DVD            2018-02-11            
1                             DVD            2018-02-17           
1                             TV               2018-03-01    
2                             DVD        2018-02-15      
2                             Car       2018-03-16        
2                             Bike        2018-05-15     
;

proc report data=have;
	columns ind_id day;
	define ind_id/group;
	define day/across format=monyy.;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;By the way, for your future reference, we usually want working DATA step code when you provide us input data. Adding &lt;FONT face="courier new,courier"&gt;data have;&lt;/FONT&gt; at the top of your data does not produce working code. I have modified your input to create working DATA step code, but not everyone will do this, and you will get faster and more correct responses when you provide working data step code.&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jun 2020 13:34:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/658979#M197429</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-06-15T13:34:27Z</dc:date>
    </item>
    <item>
      <title>Re: Count days within months per  ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/658980#M197430</link>
      <description>Thank you for your answer!&lt;BR /&gt;&lt;BR /&gt;Is it possible to this if I want to put my 'want' in a new table?&lt;BR /&gt;&lt;BR /&gt;Thanks for reminding me to post the full code.</description>
      <pubDate>Mon, 15 Jun 2020 13:32:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/658980#M197430</guid>
      <dc:creator>Chris_LK_87</dc:creator>
      <dc:date>2020-06-15T13:32:43Z</dc:date>
    </item>
    <item>
      <title>Re: Count days within months per  ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/658982#M197431</link>
      <description>&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN&gt;Is it possible to this if I want to put my 'want' in a new table?&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The output from PROC REPORT is a table. Do you mean you want it in a SAS data set?&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jun 2020 13:41:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/658982#M197431</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-06-15T13:41:26Z</dc:date>
    </item>
    <item>
      <title>Re: Count days within months per  ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/658996#M197435</link>
      <description>It seems to work in the results (HTML) table but not in the new table want.&lt;BR /&gt;&lt;BR /&gt;In the results table i get correct columns like ; APR18, MAR18.&lt;BR /&gt;&lt;BR /&gt;In the table want i get columns like; _C2_,_C3_</description>
      <pubDate>Mon, 15 Jun 2020 13:53:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/658996#M197435</guid>
      <dc:creator>Chris_LK_87</dc:creator>
      <dc:date>2020-06-15T13:53:32Z</dc:date>
    </item>
    <item>
      <title>Re: Count days within months per  ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/659000#M197438</link>
      <description>yes, I mean SAS data set</description>
      <pubDate>Mon, 15 Jun 2020 13:54:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/659000#M197438</guid>
      <dc:creator>Chris_LK_87</dc:creator>
      <dc:date>2020-06-15T13:54:59Z</dc:date>
    </item>
    <item>
      <title>Re: Count days within months per  ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/659002#M197439</link>
      <description>&lt;UL&gt;
&lt;LI&gt;Dollar signs are not valid in SAS variable names&lt;/LI&gt;
&lt;LI&gt;Why do you want a mostly unusable wide dataset?&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This is the basic solution that creates a usable dataset:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
  select
    ind_id,
    intnx('month',day,0,'b') as month format=yymmd7.,
    count(ind_id) as count
  from have
  group by ind_id, calculated month
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 15 Jun 2020 14:10:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/659002#M197439</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-06-15T14:10:43Z</dc:date>
    </item>
    <item>
      <title>Re: Count days within months per  ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/659003#M197440</link>
      <description>&lt;P&gt;First question: are your dates SAS date values?&lt;/P&gt;
&lt;P&gt;Second: do you want a data set for further analysis or a report?&lt;/P&gt;
&lt;P&gt;Third: why do you show $ at the end of variable names?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A report that shows a count of records, i.e. purchases, from the data you show, if the dates are actual SAS dates could look like:&lt;/P&gt;
&lt;PRE&gt;Proc tabulate data=have;
   class ind_id day;
   format day yymon7;
   table ind_id,
            (day All='Total') * n=' '
   ;
run;&lt;/PRE&gt;
&lt;P&gt;Which will show the count per month across the report and a total column.&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jun 2020 14:11:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/659003#M197440</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-06-15T14:11:50Z</dc:date>
    </item>
    <item>
      <title>Re: Count days within months per  ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/659007#M197441</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/321775"&gt;@Chris_LK_87&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;yes, I mean SAS data set&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Let me strongly urge you to NOT create a wide SAS data set with column names like JAN20 FEB20 etc. This complicates your programming immensely compared to using a long data set. See &lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/Maxims-of-Maximally-Efficient-SAS-Programmers/ta-p/352068" target="_self"&gt;Maxim 19&lt;/A&gt;. So, here is code to get a long data set with the counts.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc summary data=have nway;
	class ind_id day;
	var day;
	output out=want(drop=_type_) n=;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jun 2020 14:21:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/659007#M197441</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-06-15T14:21:44Z</dc:date>
    </item>
    <item>
      <title>Re: Count days within months per  ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/659014#M197445</link>
      <description>&lt;BR /&gt;First question: are your dates SAS date values?&lt;BR /&gt;Yes.&lt;BR /&gt;&lt;BR /&gt;Second: do you want a data set for further analysis or a report?&lt;BR /&gt;I want a dataset&lt;BR /&gt;&lt;BR /&gt;Third: why do you show $ at the end of variable names?&lt;BR /&gt;It was a mistake, sorry.&amp;nbsp;</description>
      <pubDate>Mon, 15 Jun 2020 14:38:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-days-within-months-per-ID/m-p/659014#M197445</guid>
      <dc:creator>Chris_LK_87</dc:creator>
      <dc:date>2020-06-15T14:38:38Z</dc:date>
    </item>
  </channel>
</rss>

