I have a table of records with a Start Date and an Entered Date (SOENTD). I have the below case statement to populate a field based on the the START_DT values or lacktherof. Problem is that the Nul Start Dates are not being registered and are defaulting to 'Existing' when they should be 'N/A'
Do I need to use Coalesce in this to do what I need it to? Any help is appreciated. Thank You!
proc sql;
update TBL_EX
set DATA_IND = case when START_DT >= SOENTD then 'New'
when START_DT < SOENTD then 'Existing'
when START_DT is null then 'N/A'
end;
quit;
case when START_DT >= SOENTD then 'New'
when START_DT < SOENTD and not missing(start_dt) then 'Existing'
when START_DT is null then 'N/A'
end
Missing values are considered to be less than non-missing values, that's why your original code doesn't work. It has nothing to do with the fact that the variables contain date values.
case when START_DT >= SOENTD then 'New'
when START_DT < SOENTD and not missing(start_dt) then 'Existing'
when START_DT is null then 'N/A'
end
Missing values are considered to be less than non-missing values, that's why your original code doesn't work. It has nothing to do with the fact that the variables contain date values.
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.