I formated 8 byte character string into Date(CCYYMMDD) by using INPUT.
I now want to use this Date in Filter to say Date>19990613, so that I can only pick the records that have Date greater than June 13, 1999.
I know there are such records that meet this criteria but when I run the project with this filter, I am getting 0 record back.
What am I doing wrong?
Thank you!!
Hi,
When SAS does the comparison on date, it compares the true numeric value instead of formated value:
data _null_;
a=input('19990613',anydtdte.);
put a= a=date9.;
run;
So you can see, if you do: date>14408, then see what happens.
Haikuo
...or date>'13jun1999'd
Haikuo:
Thank you for your advie.
As I am not familiar to the SAS coding, where can I go to find out the numeric value of 14408 in SEG? BTW, I used 14408 and it ran successfully with the date greater than Jun 13, 1999.
SAS_Bigot:
Thank you also for your advice.
I tried to use your expression on the Query Builder/Filter but it gave me an error. I must have done incorrectly.
Sorry. My EG experience is close to '0'. There are many with EG skills on the forum, your question will be answered sufficiently.
Haikuo
Thank you, HaiKuo,
I was able to compute the Date by using Input w. anydtdte as you suggested, to come up with the numeric values in EG.
I appreciate your help.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.