Sas 图片格式负数
我试着将数字格式化为数十亿、数百万和数千,如下所示Sas 图片格式负数,sas,Sas,我试着将数字格式化为数十亿、数百万和数千,如下所示 proc format; picture bmk_fmt (round) low - 0 = '000,000,000,000)' (prefix='($') 0 - 1e3 = '000,000,000,000' (prefix='$') 1e3 - 1e6 = '000,000,000,009K' (mult=1e-3 prefix='$') 1e6 - 1e9 = '
proc format;
picture bmk_fmt (round)
low - 0 = '000,000,000,000)' (prefix='($')
0 - 1e3 = '000,000,000,000' (prefix='$')
1e3 - 1e6 = '000,000,000,009K' (mult=1e-3 prefix='$')
1e6 - 1e9 = '000,000,000,009.9M' (mult=1e-5 prefix='$')
1e9 - high = '000,000,000,009.9B' (mult=1e-8 prefix='$');
run;
但是,如何将此设置扩展到负数
例如
(1.2M)
和(353K)
您提供了解决问题的几乎所有信息。
我只需要使用基础数学
使用
我明白了。诀窍就在这个符号上。没有它-1e9--1e6将返回错误。默认值=9我想这是为了简单起见?选项default
表示格式的默认长度。使用格式时,不必指定长度,例如bmk\u fmt.
。它将与bmk\u fmt9.
相同。
proc format;
picture bmk_fmt (round default=9)
low - -1e9 = '009.9B)' (mult=1e-8 prefix='($')
-1e9 <- -1e6 = '009.9M)' (mult=1e-5 prefix='($')
-1e6 <- -1e3 = '009.9K)' (mult=1e-2 prefix='($')
-1e3 <-< 0 = '009.9)' (prefix='($')
0 -< 1e3 = '009.9' (prefix='$')
1e3 -< 1e6 = '009.9K' (mult=1e-2 prefix='$')
1e6 -< 1e9 = '009.9M' (mult=1e-5 prefix='$')
1e9 - high = '009.9B' (mult=1e-8 prefix='$');
run;