DATA Step, Macro, Functions and more

Trim the last two characters off of a numeric

Reply
Frequent Contributor
Posts: 88

Trim the last two characters off of a numeric

(new DI Studio user)

(SAS 9.3)

Good Afternoon, All.

I've got a table with a numeric column that has some observations containing too many trailing zeroes. For example, there should be no number over 90 in this column so if there is a 400, it should be a 4, if there is a 1200 it should be 12.

So, I think I'll need to do a proc sql step to go through the table looking for values over 90. Then, how do I remove the last two characters in that observation? Would I need to convert the format to character first and use a substring function or can I do this while the value is numeric?

Also, what's a quick way to increment a counter within this where statement that I can output in the log only, so I'll have an idea of how many observations are being updated?

Thanks!

-Jeff

Valued Guide
Posts: 3,208

Re: Trim the last two characters off of a numeric

Numeric columns...... These are binary we are in the digital age. Those 0's are at the best a result of a conversion from binary to decimal and that decimal is of character type.

Converting character (decimals) to numeric digital binary can be done wit an indicator of the decimal point.   It looks you are referring to an external DBMS having a character field containing decimals in hundreds.       

---->-- ja karman --<-----
Super User
Posts: 10,466

Re: Trim the last two characters off of a numeric

data want;

     set have;

     if value > 90 then value = int(value/100); /* or Floor(value/100) */

run;

Ask a Question
Discussion stats
  • 2 replies
  • 197 views
  • 0 likes
  • 3 in conversation