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.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.