ID
Birth_Date
Death_Date
Date
age_desired
age
age2
1
30/08/1996
20/09/2019
31/01/2019
269
276
277
1
30/08/1996
20/09/2019
28/02/2019
270
276
277
1
30/08/1996
20/09/2019
29/03/2019
271
276
277
1
30/08/1996
20/09/2019
30/04/2019
272
276
277
1
30/08/1996
20/09/2019
31/05/2019
273
276
277
1
30/08/1996
20/09/2019
28/06/2019
274
276
277
1
30/08/1996
20/09/2019
31/07/2019
275
276
277
1
30/08/1996
20/09/2019
30/08/2019
276
276
277
1
30/08/1996
20/09/2019
30/09/2019
277
276
277
1
30/08/1996
20/09/2019
31/10/2019
.
276
277
1
30/08/1996
20/09/2019
30/11/2019
.
276
277
1
30/08/1996
20/09/2019
30/12/2019
.
276
277
1
30/08/1996
20/09/2019
31/01/2020
.
276
277
2
28/02/1997
.
31/01/2008
131
131
131
2
28/02/1997
.
29/02/2008
132
132
132
2
28/02/1997
.
31/03/2008
133
133
133
2
28/02/1997
.
30/04/2008
134
134
134
2
28/02/1997
.
30/05/2008
135
135
135
2
28/02/1997
.
30/06/2008
136
136
136
2
28/02/1997
.
31/07/2008
137
137
137
2
28/02/1997
.
29/08/2008
138
138
138
3
1/10/2007
.
30/10/2020
156
156
156
3
1/10/2007
.
30/11/2020
157
157
157
3
1/10/2007
.
31/12/2020
158
158
158
3
1/10/2007
.
29/01/2021
159
159
159
3
1/10/2007
.
26/02/2021
160
160
160
3
1/10/2007
.
31/03/2021
161
161
161
3
1/10/2007
.
30/04/2008
6
6
6
3
1/10/2007
.
30/05/2008
7
7
7
/**WITH "C"**/
DATA WANT1;
SET WANT;
age = floor(intck('month',birth_date,ifn(death_date = .,date,death_date),"C"));
RUN;
/**WITHOUT "C"**/
DATA WANT2;
SET WANT1;
age2 = floor(intck('month',birth_date,ifn(death_date = .,date,death_date)));
RUN;
@KurtBremser
Thanks, I tried both of the codes and it worked when the death_date is missing. Please see the output desired age. I want age based on each month as appeared in the Date column.
Regards, Sara
... View more