/* This is example of age caluculate wihtout to display
perfect days and years in output window */

data age;
retain dob "12jun2003"d now "24may2011"d;
age1=now-dob;
age=(now-dob)/365.25;
years=int(age);
days1=round((age-years)*365.25);
months=month(now)-1;

if days1 gt 30 and months in(12,10,8,6,4,2)then do;
month1=days1/30.4375;
month=int(days1/30.4375);
if day(now)=1 then days=1;
else days=round((month1-month)*30.4375)+1;
drop days1 month1 month;
end;

else if days1 gt 30 and months in
(1,3,5,7,9,11)then do;
month1=days1/30.4375;
month=int(days1/30.4375);
if day(now)=1 then days=1;
else days=round((month1-month)
*30.4375);
drop days1 month1 month;
end;

drop age age1;
proc print data=age;
format dob now date.;
run;

Answer Posted / muralavenu

Year and Day is fine. but Month is calculating from
current month onwords(i.e. ending to starting instead of
starting to ending). How to get rid of this problem. Plz
find out.

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Differentiate between format and informat? : sas-grid-administration

575


What is SAS informats?

629


Define run-group processing?

575


What are the default statistics for means procedure?

636


In SAS explain which statement does not perform automatic conversions in comparisons?

792






What is the maximum length of the macro variable? : sas-macro

615


what is proc Index? and what is proc document?

1990


what is enterprise guide? What is the use of it? : Sas programming

532


Explain append procedure?

628


what is metadata? : Sas-bi

592


what is null hypothesis? why do you consider that?

2413


What is the difference between proportion and average?

2750


Name some categories in sas 9? : sas-grid-administration

551


If you were told to create many records from one record, show how you would do this using array and with proc transpose?

792


Describe crosslist option in tables statement?

705