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 lock in 2025 pricing—just $495!
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.