If I had a dataset that contained a Diabetes_Date and a Hypertension_date like the following:
ID Diabetes_date Hypertension_date
111 4/5/05 7/10/06
222 3/4/14 9/6/10
I need a new variable date that would list the date at which they had both Diabetes and Hypertension. So for the above example it would be 7/10/06 for 111 and the 222 ID would be 3/4/14. I know I could do a few if statements to accomplish this, but wondering if there are other easy methods.
Thanks so much!
Wouldn't it just be max(diabetes_date,hypertension_date)? I think the max function propagates null values.
Wouldn't it just be max(diabetes_date,hypertension_date)? I think the max function propagates null values.
No, I do not think max() propagates nulls unless all the parameters are null. In fact I use max(value, 0) to set missing values to zero. You need the N() function as well to count the number of non null values.
If n(Diabetes_date, hypertension_date) = 2
then combined Date = max(diabetes_date,hypertension_date) ;
Richard
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.