How can you reliably compute the age of someone or something.
Sas age calculation floor.
In mathematics and computer science the floor function is the function that takes as input a real number and gives as output the greatest integer less than or equal to denoted or similarly the ceiling function maps to the least integer greater than or equal to denoted or.
1 like 14 replies 14.
Sure you could write your own function for calculating such things as i suggested 0 1753424658 years ago.
The approach is to first calculate the number of completed months between the two dates and then divide by 12.
For example and while.
If the argument is within 1e 12 of an integer the floor function fuzzes the result to be equal to that integer.
Age int yrdif birth date ending date actual.
Based on the outputs the calculation using yrdif seems to be a good option.
Will cause the following message to be placed on the log.
For example the following lines.
The simple way using 365 25 as divider is actually a pretty good option.
The precision of the memberdateofbirth a stored sas date variable was causing the age15 variable to resolve to 18 with no decimal places.
Susan lamented the subtle issues using the yrdif function exactly 1 0356164384 years ago.
There is also an article in sas blog discussing this.
To compute age using a date of birth and the current.
For an adult study all of these approaches in calculating age seem to be ok.
Age intck year dob eventdate continuous hi i was wondering if two methods above have the same function on calculating age based on dob.
Computing ages with yrdif the sas help and documentation states that the yrdif function returns the difference in years between two dates since age is the difference in years between two dates a birth date and some other date the yrdif function has been used to compute ages in this way.
The macro is used in a sas data step as follows.
In sas date type variables contain the number of days between january 1 1960 and the date specified.
Therefore with the floorz function you might get unexpected results.
The use of yrdif function is detailed in the sas online document.
Age floor yrdif datepart birth date today age view solution in original post.
The floorz function does not fuzz the result.
It seems like such a simple problem.