- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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!!
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
...or date>'13jun1999'd
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Sorry. My EG experience is close to '0'. There are many with EG skills on the forum, your question will be answered sufficiently.
Haikuo
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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.