BookmarkSubscribeRSS Feed
sunilreddy
Fluorite | Level 6

Any way to find out the variables contains only digits(0 to 9)

data have;

input var $;

cards;

23,32

12.32

32 42

23ab

$23

123

;

run;

I want only last record(var=123) in target table, which doesn't have any alphabetic or special characters. Also i want to throw it to error table for remaining records(1 to 5 records in above example)

1 REPLY 1
art297
Opal | Level 21

The way you are creating your input file will get you the wrong results.  You have to add an ampersand on your input statement.

However, that said, try the following:

data have;

input var $ &;

cards;

23,32

12.32

32 42

23ab

$23

123

;

run;

data want errors;

  set have;

  if notdigit(strip(var)) then output errors;

  else output want;

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
  • 1 reply
  • 1084 views
  • 2 likes
  • 2 in conversation