/* 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
What are the data types that sas contain?
What is the difference between the proc sql and data step?
how could you generate test data with no input data? : Sas programming
For clinical entire study how many tables will create approx?
What is the role of administrative users? : sas-grid-administration
what do the mod and int function do? What do the pad and dim functions do? : Sas programming
Which function is used to count the number of intervals between two sas dates?
which date functions advances a date time or date/time value by a given interval? : Sas programming
Is the physical structure of the data set in the same orientation as the report? Do you need to reshape the data sets? What method should you use to reshape the data–DATA steps,PROC TRANSPOSE,output data set from a procedure?
Have you used macros? For what purpose you have used? : sas-macro
What do you know about sas data set?
how do you pull data from equifax?tell me the process?
In sas, what are the areas that you are most interested in? : sas-grid-administration
What would be the result of the following SAS function (given that 31 Dec, 2000 is Sunday)?
if you were told to create many records from one record, show how you would do this using array and with proc transpose? : Sas programming