PROC FORMAT for percentage format

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 15
Accepted Solution

PROC FORMAT for percentage format

I used following syntex to format the number to percentage. However for number of 0.858369, it gives 85%. Is there a way to get correct percetage of 0.85%?

proc format library = fmt;

picture pctfmt low-high='000.00%';

run;

Thanks!

Regards,

Weizhong


Accepted Solutions
Solution
‎10-19-2013 01:16 AM
Trusted Advisor
Posts: 1,131

Re: PROC FORMAT for percentage format

Hi,

Please try the below picture format

proc format;

picture val low-high='9.99%';

run;

data class;

    val=put(0.858369,val.);

run;

Thanks,

Jagadish

Thanks,
Jag

View solution in original post


All Replies
Solution
‎10-19-2013 01:16 AM
Trusted Advisor
Posts: 1,131

Re: PROC FORMAT for percentage format

Hi,

Please try the below picture format

proc format;

picture val low-high='9.99%';

run;

data class;

    val=put(0.858369,val.);

run;

Thanks,

Jagadish

Thanks,
Jag
Occasional Contributor
Posts: 15

Re: PROC FORMAT for percentage format

Thanks! Jagadish. 

However my data mixed of numbers such as 20, 100 and 0.858369. If there way to wark around? Thanks!


Trusted Advisor
Posts: 1,131

Re: PROC FORMAT for percentage format

in that case you can use the below picture format

proc format fmtlib;

    picture val low-<1='9.99%'

                1<-high='009%';

run;

Thanks,

Jagadish

Thanks,
Jag
Respected Advisor
Posts: 3,777

Re: PROC FORMAT for percentage format

What about 1.

Trusted Advisor
Posts: 1,131

Re: PROC FORMAT for percentage format

Thank you data_null_, please find below my corrected code

proc format fmtlib;

    picture val low-<1='9.99%'

               1-high='009%';

run;

Thanks,

Jagadish

Thanks,
Jag
Respected Advisor
Posts: 3,777

Re: PROC FORMAT for percentage format

What about the sign if the value is negative?

Trusted Advisor
Posts: 1,131

Re: PROC FORMAT for percentage format

Thank you data_null_, updated the picture format to consider the negative values

proc format fmtlib;

    picture val low-<0='09.99%' (prefix='-')

                0-<1='09.99%'

               1-high='009%';

run;

Thanks,

Jagadish

Thanks,
Jag
Respected Advisor
Posts: 3,777

Re: PROC FORMAT for percentage format

You need to RTM.  Look for the round option.  You will also need more digit selectors for the larger numbers and what about negative.

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 8 replies
  • 769 views
  • 0 likes
  • 3 in conversation