<?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: Calculate number of daily occurences for a particular month in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Calculate-number-of-daily-occurences-for-a-particular-month/m-p/689315#M209530</link>
    <description>&lt;P&gt;Thank you very much for your response.&lt;/P&gt;&lt;P&gt;Being new to SAS,&lt;/P&gt;&lt;P&gt;1) how shouldI reference dataset that I got from query in below code&lt;/P&gt;&lt;P&gt;create table Auth_data as&lt;BR /&gt;select * from Client where updatedate is not null and updatedate2 is not null....&lt;/P&gt;&lt;P&gt;2) I used macro to set limit on dates. Guess I can do that by putting it in where clause. something like updatedate is between 01sep2020 and 30sep2020. will that work?&lt;/P&gt;</description>
    <pubDate>Tue, 06 Oct 2020 19:12:51 GMT</pubDate>
    <dc:creator>Mona32256</dc:creator>
    <dc:date>2020-10-06T19:12:51Z</dc:date>
    <item>
      <title>Calculate number of daily occurences for a particular month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculate-number-of-daily-occurences-for-a-particular-month/m-p/689284#M209526</link>
      <description>&lt;P&gt;I have dataset that looks like this&lt;/P&gt;&lt;P&gt;Client&lt;/P&gt;&lt;P&gt;Lowes&amp;nbsp; &amp;nbsp; 01Sept2020&lt;/P&gt;&lt;P&gt;Home Dept&amp;nbsp; 01Sept2020&lt;/P&gt;&lt;P&gt;Lowes 01Sep2020&lt;/P&gt;&lt;P&gt;Lowes 02Sep2020&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;looking for&amp;nbsp;&lt;/P&gt;&lt;P&gt;Lowes 01Sep2020 count is&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;Home Depot 01Sep2020 count is 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to calculate daily occurrence for Lowes and Home Dept and find median or Average for month of Sep&lt;/P&gt;&lt;P&gt;I was able to get all dates for September but cannot figure out how to do the count?&amp;nbsp; I have dataset query but need help with looping through each date to get daily records&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;here is loop for getting dates 01Sep2020 02Sep2020.....&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;%macro date_loop(start,end);&lt;BR /&gt;%let start=%sysfunc(inputn(&amp;amp;start,anydtdte9.));&lt;BR /&gt;%let end=%sysfunc(inputn(&amp;amp;end,anydtdte9.));&lt;BR /&gt;%let dif=%sysfunc(intck(day,&amp;amp;start,&amp;amp;end));&lt;BR /&gt;%do i=0 %to &amp;amp;dif;&lt;BR /&gt;%let date=%sysfunc(intnx(day,&amp;amp;start,&amp;amp;i,b),date9.);&lt;BR /&gt;%put &amp;amp;date;&lt;BR /&gt;%end;&lt;BR /&gt;%mend date_loop;&lt;BR /&gt;%date_loop(01sep2020,30sep2020)&lt;BR /&gt;quit;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks you in advance&lt;/P&gt;&lt;P&gt;Mona&lt;/P&gt;</description>
      <pubDate>Tue, 06 Oct 2020 17:57:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculate-number-of-daily-occurences-for-a-particular-month/m-p/689284#M209526</guid>
      <dc:creator>Mona32256</dc:creator>
      <dc:date>2020-10-06T17:57:02Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate number of daily occurences for a particular month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculate-number-of-daily-occurences-for-a-particular-month/m-p/689310#M209528</link>
      <description>&lt;P&gt;I may be missing something, but is a Macro necessary?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Consider the following code.&amp;nbsp; The results are below the code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am able to get a total by client by date with this code with no Macro coding.&amp;nbsp; Don't get me wrong.&amp;nbsp; I like Macro coding.&amp;nbsp; But I am not seeing that it is strictly necessary here.&amp;nbsp; Generally, Data steps are a good way to work with data.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If we add more data, then we can start getting things like averages.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA		Client_Data;
	INFILE	DATALINES	;
	FORMAT	Client	$25.;
	FORMAT	Date	MMDDYYS10.;

	Input	Client	&amp;amp;
			Date	:	ANYDTDTE10.
			;
DATALINES;
Lowes    01Sept2020
Home Dept  01Sept2020
Lowes   01Sep2020
Lowes  02Sep2020
;
RUN;

PROC	SORT	DATA=Client_Data;
	BY	Client	Date;
RUN;

DATA	Client_Summary;
	SET	Client_Data;
		BY	Client	Date;

	IF	LAST.Date	THEN
		DO;
			Client_Date_Total	+	1;
			OUTPUT;
			Client_Date_Total	=	0;
			DELETE;
		END;
	ELSE
		DO;
			Client_Date_Total	+	1;
			DELETE;
		END;
RUN;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Results:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jimbarbour_0-1602010815965.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/50233iEA4567B348A253C4/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jimbarbour_0-1602010815965.png" alt="jimbarbour_0-1602010815965.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jim&lt;/P&gt;</description>
      <pubDate>Tue, 06 Oct 2020 19:02:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculate-number-of-daily-occurences-for-a-particular-month/m-p/689310#M209528</guid>
      <dc:creator>jimbarbour</dc:creator>
      <dc:date>2020-10-06T19:02:18Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate number of daily occurences for a particular month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculate-number-of-daily-occurences-for-a-particular-month/m-p/689315#M209530</link>
      <description>&lt;P&gt;Thank you very much for your response.&lt;/P&gt;&lt;P&gt;Being new to SAS,&lt;/P&gt;&lt;P&gt;1) how shouldI reference dataset that I got from query in below code&lt;/P&gt;&lt;P&gt;create table Auth_data as&lt;BR /&gt;select * from Client where updatedate is not null and updatedate2 is not null....&lt;/P&gt;&lt;P&gt;2) I used macro to set limit on dates. Guess I can do that by putting it in where clause. something like updatedate is between 01sep2020 and 30sep2020. will that work?&lt;/P&gt;</description>
      <pubDate>Tue, 06 Oct 2020 19:12:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculate-number-of-daily-occurences-for-a-particular-month/m-p/689315#M209530</guid>
      <dc:creator>Mona32256</dc:creator>
      <dc:date>2020-10-06T19:12:51Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate number of daily occurences for a particular month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculate-number-of-daily-occurences-for-a-particular-month/m-p/689318#M209531</link>
      <description>&lt;P&gt;If I understand, you want the distinct count of each Client|Date.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data client_data;
infile	datalines;
format	client	$25.;
format	date	mmddyys10.;
input	client &amp;amp; date :	anydtdte10.;
datalines;
lowes    01sept2020
home dept  01sept2020
lowes   01sep2020
lowes  02sep2020
;
run;

proc sql;
 create table work.want as
 select distinct client
 ,		 date
 ,		 count(*) as count
 from client_data
 group by client, date
 order by client, date;
quit;&lt;/PRE&gt;</description>
      <pubDate>Tue, 06 Oct 2020 19:23:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculate-number-of-daily-occurences-for-a-particular-month/m-p/689318#M209531</guid>
      <dc:creator>ChanceTGardener</dc:creator>
      <dc:date>2020-10-06T19:23:29Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate number of daily occurences for a particular month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculate-number-of-daily-occurences-for-a-particular-month/m-p/689319#M209532</link>
      <description>&lt;P&gt;1)&amp;nbsp; You should refer to the table you created in the SQL as:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;WORK.Auth_data&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;2)&amp;nbsp; Yes, dates are a very appropriate thing to include in a WHERE clause.&amp;nbsp; You could code the dates as macro values if you like.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%LET Start = '01sep2020'd;
%LET Stop = '30sep2020'd;

PROC SQL
    create table Auth_data as
          select * from Client 
              where updatedate is not null 
              AND updatedate2 is not null
              AND updatedate between &amp;amp;Start  and &amp;amp;Stop
              ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm assuming that UpdateDate is a numeric SAS date and not datetime or character.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jim&lt;/P&gt;</description>
      <pubDate>Tue, 06 Oct 2020 19:27:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculate-number-of-daily-occurences-for-a-particular-month/m-p/689319#M209532</guid>
      <dc:creator>jimbarbour</dc:creator>
      <dc:date>2020-10-06T19:27:07Z</dc:date>
    </item>
  </channel>
</rss>

