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

 

First, I do have a variable, year of birth (i.e. without days and months of births). Second, I would like to derive age from the stated variable based on today’s date. I’ve attempted the derivation using the following code but I’ve been unsuccessful.

 

Data myage;
set suvdata;
AGE=floor(YRDIF(RB080, today(),"AGE"));
run;

I shall be most grateful for your help.

1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

The YRDIF function want two date values. So use the MDY function to create date

 

AGE=floor(YRDIF(mdy(1,1,RB080), today(),"AGE"));

would use January 1 as the date in the year.

View solution in original post

3 REPLIES 3
ballardw
Super User

The YRDIF function want two date values. So use the MDY function to create date

 

AGE=floor(YRDIF(mdy(1,1,RB080), today(),"AGE"));

would use January 1 as the date in the year.

Zacc
Fluorite | Level 6

@ballardw, Thank you so very much.

PaigeMiller
Diamond | Level 26

@Zacc wrote:

 

First, I do have a variable, year of birth (i.e. without days and months of births).


So in other words, you just have the year of birth, is that what you are saying? The value of your variable might look like 1978.

 

So you would compute the age via

 

data want;
set have;
age = 2022 - rb080;
run;
--
Paige Miller

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

LIBNAME 101

Follow along as SAS technical trainer Dominique Weatherspoon expertly answers all your questions about SAS Libraries.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 1106 views
  • 0 likes
  • 3 in conversation