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.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.
Ready to level-up your skills? Choose your own adventure.