## proc sql rounding percentage no decimals

Solved
Frequent Contributor
Posts: 133

# proc sql rounding percentage no decimals

Hi SAS Experts,

I looked at the round function explanation and read that a ,1 should result in no decimals but my calculation reads 100,0 now and not just 100.

proc sql ;
CREATE TABLE mytable AS
SELECT
ROUND((SUM(numberA)*100)/SUM(numberB),1) AS percent_ab
FROM aaaa;
QUIT;

Accepted Solutions
Solution
‎05-04-2016 07:30 AM
Super User
Posts: 23,700

## Re: proc sql rounding percentage no decimals

Well it's rounded but you're looking to control the display.

``````proc sql ;
CREATE TABLE mytable AS
SELECT
ROUND((SUM(numberA)*100)/SUM(numberB),1) AS percent_ab format=8.
FROM aaaa;
QUIT;``````

All Replies
Super User
Posts: 13,525

## Re: proc sql rounding percentage no decimals

Not quite sure exactly what you mean by "calculation reads 100,0"

Round is applied AFTER the results of

(SUM(numberA)*100)/SUM(numberB)

The FORMAT of the varaible percent_ab could be forcing the appearance of decimals. If the format is something like 5.1 it will force the appearance of 1 decimal, showing a 0 when none are actually present.

Solution
‎05-04-2016 07:30 AM
Super User
Posts: 23,700

## Re: proc sql rounding percentage no decimals

Well it's rounded but you're looking to control the display.

``````proc sql ;
CREATE TABLE mytable AS
SELECT
ROUND((SUM(numberA)*100)/SUM(numberB),1) AS percent_ab format=8.
FROM aaaa;
QUIT;``````
🔒 This topic is solved and locked.