The previous posts all raise valid points. Let's take a look at your code a bit more closely.
You move back 365 * 30 days. That's only approximately correct. A block of 30 years will contain approximately 7 leap years, where that year contains 366 days. So a more accurate attempt would be:
DOB = intnx('year', today(), -30, 'same');
That moves back to the same day of the year as the current date, 30 years ago. And as was pointed out, there will be many valid dates that fit the bill. This calculation gives you one of those valid dates.
What have you tried so far? Please post your code.
Looks good to me. Have a look at the INTNX function for an alternative.
The previous posts all raise valid points. Let's take a look at your code a bit more closely.
You move back 365 * 30 days. That's only approximately correct. A block of 30 years will contain approximately 7 leap years, where that year contains 366 days. So a more accurate attempt would be:
DOB = intnx('year', today(), -30, 'same');
That moves back to the same day of the year as the current date, 30 years ago. And as was pointed out, there will be many valid dates that fit the bill. This calculation gives you one of those valid dates.
Thanks a lot for explaining it so well. The code worked perfectly.
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.