Help using Base SAS procedures

Simple format question

Not applicable
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;

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

Trusted Advisor
Posts: 2,125

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: 13,523

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';
Ask a Question
Discussion stats
  • 2 replies
  • 3 in conversation