- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 05-24-2017 08:14 AM
(9144 views)
Hi all,
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
3 REPLIES 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
%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;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thank You RW9. It's what I need.
##- Please type your reply above this line. Simple formatting, no
attachments. -##
##- Please type your reply above this line. Simple formatting, no
attachments. -##