BookmarkSubscribeRSS Feed
SonyTrinesh
Calcite | Level 5

Hi all,

I have a Data set, it contains date column .My requirement is if the date values is not in the  given format i just want to reject the record.

Example:

Data One;

informat Bday yyyymmn6.;

format Bday yyyymmn6.;

input Bday yyyymmn6.;

cards;

201401

201402

20140312

;

run;

I dont want the third record because it is not in given format and i want to capture in another table, for this is there any functions whether the date value is in particular format.

So can any one have idea on above case.

2 REPLIES 2
PGStats
Opal | Level 21

The most flexible tool to achieve this is pattern matching :

Data One;

format Bday yymmn6.;

input BdayTxt $ ;

if prxmatch("/^[12]\d{3}[01]\d$/o", trim(bDayTxt)) then Bday = input(BdayTxt, yymmn6.);

cards;

201401

201402

20140312

;

proc print data=one; run;

PG

PG
slchen
Lapis Lazuli | Level 10

Try this:

Data One;

input@;

if length(_infile_)^=6 then delete;

input Bday ;

informat Bday yymmn6.;

format Bday yymmn6.;

cards;

201401

201402

20140312

201406

;

run;

proc print;

run;

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 2494 views
  • 0 likes
  • 3 in conversation