您好我有兴趣为我在SAS中生成的数据制作一些稍微复杂的自定义格式。我需要它是数字类型。
格式1
0="-"
>0="<number>%"
<0="<number>%"
即
0 >>>>>>> -
.74 >>>>> 74%
-.65>>>>> -65%
格式2
0="-"
>0="$<number(with commas)>"
<0="$(<number(with commas)>"
即
0>>>>>>-
1467>>>>$1,467
-39087>>$(39,087)
我使用像这样的代码制作了简单的自定义格式
proc format;
picture test
0='-';
run;
但我不确定如何编写语法来附加$
符号和(
)
符号。
感谢。
答案 0 :(得分:5)
百分比格式相当简单。因为你必须注意你的宽度,所以美元一个是狡猾的。
基本上你需要使用prefix
来获取前面的任何东西(美元,笔记,减号),并且最后将你想要的任何内容放在最后。 '0'表示有时打印的数字,'9'表示始终打印数字。
您使用mult
制作.13 - &gt; 13%。
而且,对于美元,您可以使用dollar
格式。您也可以在消极方面使用NEGPAREN
格式,但不能将其与美元符号结合使用...
proc format;
picture pctfmt
low - <0= '000%' (mult=100 prefix='-')
0 = '-'
0<-high = '000%' (mult=100);
picture dollfmt
low - <0 = '000,000,000.00)' (prefix='$(')
0 = '-'
0 <- high = [dollar16.2]
;
run;
data _null_;
input x;
put x= pctfmt.;
datalines;
-.15
-.05
0
.05
.15
;;;;
run;
data _null_;
input x;
put x= dollfmt12.2;
datalines;
-5.93
-13432554
0
12345324
5.98
;;;;
run;