Help using Base SAS procedures

Simple format question

Reply
N/A
Posts: 0

Simple format question

I want to format a range of numbers so that anything with a value of greater than zero is formatted as zero, whereas anything with a negative value is left unchanged.

This is what I am trying to use.

proc format;
value eq
0 - high = 0;
run;

But as I'm not specifying any format for the range below zero I get the error:

ERROR: Invalid value for width specified - width out of range

Thanks.
Trusted Advisor
Posts: 2,116

Re: Simple format question

Posted in reply to deleted_user
I got a slightly different error message in SAS 9.2, but the effect was the same. I was able to get around the message with this format

0 - high = 00000;

but then it printed all non-negative numbers as 00000, which is also less than ideal.
Super User
Posts: 11,343

Re: Simple format question

Posted in reply to deleted_user
It appears that the single 0 is being used like a digit selector in a PICTURE statement for some reason. Try assigning another format to the range below 0 such as below.

value eq
low - <0 = [best8.]
1-high = '0';
run;
Ask a Question
Discussion stats
  • 2 replies
  • 275 views
  • 0 likes
  • 3 in conversation