BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
brophymj
Quartz | Level 8

I have a field Header1 ($20) of the form:

Header 1
485
1
AB27834
134
A/DD123
678423167
AB1266
12

and where the cell is a string where the characters are number I want to convert to the format;

0000000001 where Header1 is 1

0000000134 where Header1 is 134

and so on.

for the cells where the string contains a mix of letters and number I want to leave them as they are.

I tried using this code:

Header1new = put(input(header1,20.),z10.);

This converts the numbers the way I want but it produces loads of errors for the non-numbers. Is there code that allows for this i.e.

if the string header 1 contains at least one character then do leave as is.

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

Almost there;

If anyalpha(Header1) = 0 then Header1new = put(input(header1,20.),z10.);

View solution in original post

2 REPLIES 2
ballardw
Super User

Almost there;

If anyalpha(Header1) = 0 then Header1new = put(input(header1,20.),z10.);

Tom
Super User Tom
Super User

You need to test if it is a number.  Also what about values that look like numbers such as:

1.5

12E5

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 1276 views
  • 0 likes
  • 3 in conversation