/* 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
Differentiate between format and informat? : sas-grid-administration
What is SAS informats?
Define run-group processing?
What are the default statistics for means procedure?
In SAS explain which statement does not perform automatic conversions in comparisons?
What is the maximum length of the macro variable? : sas-macro
what is proc Index? and what is proc document?
what is enterprise guide? What is the use of it? : Sas programming
Explain append procedure?
what is metadata? : Sas-bi
what is null hypothesis? why do you consider that?
What is the difference between proportion and average?
Name some categories in sas 9? : sas-grid-administration
If you were told to create many records from one record, show how you would do this using array and with proc transpose?
Describe crosslist option in tables statement?