07-22-2015 03:49 PM
hello after creating a new computed column based on the advice of the earlier discussion
case when ( t1.date <= "start_date_90"d then 1 else 0 end
I get a invalid date/time/datetime constat "start_date_90"d.
when i use the prompt in a filter statement the code reflects no error.
what is happening. am I missing something?
07-22-2015 03:56 PM
What is start_date_90? A variable or prompt?
If it's a prompt in date time format use it as &start_date_90 - no quotes and no d.
If it's a variable use start_date_90 - no quotes, no d.
Quotes and D are for when you're hard coding a date comparison.
07-22-2015 04:06 PM
If the prompt has become a macro variable then use & before the name to resolve the name to the value.
If it contains a datetime value in text format ( 21JUL2015:13:02 for example) then you can wrap it in quotes and append DT to let SAS know that you want it treated as a datetime literal.
If it contains the number of seconds since 01JAN1960 then do not wrap it in quotes as it will be a number.
If you are comparing the value to variables that contain dates then you might need to convert it from datetime to date.
07-22-2015 05:14 PM
thanks Tom and Reeza,
apologies... I did use the "&promptvar"dt the datetime variable is a sas datetime. so I was hoping the " " and dt would do the trick.. Is this case sensitive?
Ok I tried all the suggestions. I think that using DT instead of D was the game changer.
"&start_date_90"DT <+ t1.datvar
thanks a lot! it is running !