BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
John4
Obsidian | Level 7

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 ?

1 ACCEPTED SOLUTION

Accepted Solutions
RW9
Diamond | Level 26 RW9
Diamond | Level 26

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.

View solution in original post

4 REPLIES 4
RW9
Diamond | Level 26 RW9
Diamond | Level 26

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;
PGStats
Opal | Level 21

One problem: there are only 1096 unique dates in the three year range.

PG
RW9
Diamond | Level 26 RW9
Diamond | Level 26

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.

John4
Obsidian | Level 7

So I have to change the number and also the dates like this

mindate='01jan1900'd;
maxdate='30dec2017'd;

thanks

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 3348 views
  • 9 likes
  • 3 in conversation