To generate random date in sas, I use this code
data random_date;
mindate='01jan2015'd;
maxdate='30dec2017'd;
range = maxdate-mindate+1;
format mindate maxdate randate date9.;
do i = 1 to 100000;
RanDate = mindate + int(ranuni(12345)*range);
output;
end;
run;But how can I generate uniques randoms dates ?
That would depend on how many fruit bearing trees you had over those 3 years no?
But good question, can't have 10000 unique dates in that period.
Well to get rid of duplicates you would do:
proc sort data=randomdate nodupkey; by randate; run;
However I don't think that is what your after is it? You want 10000 unique dates of a random nature yes? If so then just loop over your min/max range, and then sample for the items across this range yes/no 10000 results:
data want;
do randate='01jan2015'd to '30dec2017'd;
output;
end;
run;
proc surveyselect data=want;
method=srs n=10000 out=SampleSRS;
run;
One problem: there are only 1096 unique dates in the three year range.
That would depend on how many fruit bearing trees you had over those 3 years no?
But good question, can't have 10000 unique dates in that period.
So I have to change the number and also the dates like this
mindate='01jan1900'd;
maxdate='30dec2017'd;thanks
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
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.
Ready to level-up your skills? Choose your own adventure.