05-24-2017 08:14 AM
I have a table that contains customer_id (around 1 Millions) and would like to create some random dates for these customers between 01/01/2015 and 01/01/2017 .
Please your help would be much appreciated as it is quite urgent.
Thank You very much
05-24-2017 08:22 AM - edited 05-24-2017 08:23 AM
%let start=01/01/2015; %let end=01/01/2017; data _null_; start = input("&start",ddmmyy10.); end = input("&end",ddmmyy10.); interval = end - start; call symput('start',put(start,best.)); call symput('interval',put(interval,best.)); run; data want; set have; format newdate ddmmyy10.; newdate = &start + rand() * &interval; run;
05-24-2017 08:22 AM
Post test data in the for of a datastep!! Also post what you want out.
Here is an example, the diff between the two dates * by random number added to the base date, gives a date between the two values:
data tmp; call streaminit(123); a="01JAN2015"d; b="01JAN2017"d; test="01JAN2015"d + floor((b-a) * rand("uniform")); format a b test date9.; run;