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
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.