Good Morning,
I have the following data below (first 10 observations).
Enrolled Frequency
06/02/2014 | 1 |
10/09/2014 | 2 |
10/16/2014 | 4 |
10/17/2014 | 3 |
10/18/2014 | 1 |
10/20/2014 | 5 |
10/21/2014 | 2 |
10/22/2014 | 1 |
10/27/2014 | 4 |
10/28/2014 | 1 |
I need to convert the total frequency into weeks with cumulative summary of enrolled:
Week Enrolled
6/2/2014 1
6/9/2014 1
... ...
10/6/2014 1
10/13/2014 3
10/20/2014 16
10/27/2014 23
I'm not following how you're doing the translation between days/weeks. Can you please expand your example.
I need to convert the frequency into a cumulative frequency by weeks of the year.
I think Proc Expand can do what you want, do you have SAS/ETS licensed?
data have;
format date week mmddyy10.;
input date mmddyy10. enroll;
week = intnx('week',date,0,'begin')+1;
cards;
06/02/2014 1
10/09/2014 2
10/16/2014 4
10/17/2014 3
10/18/2014 1
10/20/2014 5
10/21/2014 2
10/22/2014 1
10/27/2014 4
10/28/2014 1
;
run;
data want(drop=i rc date enroll);
if _n_ = 1 then do;
if 0 then set have;
declare hash h (dataset:'have',multidata:'y');
h.definekey('week');
h.definedata('enroll');
h.definedone();
end;
call missing (of _all_);
do date = '01jan2014'd to '31dec2014'd by 7;
week = intnx('week',date,0,'begin')+1;
rc=h.find();
do i = 1 to 10 while (rc=0);
enroll_tot + enroll;
rc=h.find_next();
end;
output;
end;
run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.