/* test data */
data one;
input date :date9. item :$1.;
cards;
01APR2010 A
01APR2010 B
01APR2010 C
05JUL2010 A
20JUL2010 E
;
run;
/* separate out to daily datasets. one-pass solution,
assuming that the data are already sorted by date. */
data _null_;
if 0 then set one; /* to prep pdv */
dcl hash h(ordered:'ascending');
h.definekey('id');
h.definedata('item');
h.definedone();
do until (last.date);
set one;
by date notsorted;
id + 1;
h.add();
end;
name = catt("item_", put(date,date9.));
h.output(dataset: name);
run;
/* on log
NOTE: The data set WORK.ITEM_01APR2010 has 3 observations and 1 variables.
NOTE: The data set WORK.ITEM_05JUL2010 has 1 observations and 1 variables.
NOTE: The data set WORK.ITEM_20JUL2010 has 1 observations and 1 variables.
*/
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.