嗨,我有兴趣为我在SAS生产的数据制作一些稍微复杂的自定义格式.我需要它是数字类型.
格式1
0="-"
>0="<number>%"
<0="<number>%"
Run Code Online (Sandbox Code Playgroud)
即
0 >>>>>>> -
.74 >>>>> 74%
-.65>>>>> -65%
Run Code Online (Sandbox Code Playgroud)
格式2
0="-"
>0="$<number(with commas)>"
<0="$(<number(with commas)>"
Run Code Online (Sandbox Code Playgroud)
即
0>>>>>>-
1467>>>>$1,467
-39087>>$(39,087)
Run Code Online (Sandbox Code Playgroud)
我使用这样的代码制作了简单的自定义格式
proc format;
picture test
0='-';
run;
Run Code Online (Sandbox Code Playgroud)
但我不知道如何编写语法来附加$符号和( )符号.
谢谢.
格式百分比相当简单.因为你必须注意你的宽度,所以美元是一个狡猾的人.
基本上你需要使用prefix前面的任何东西(美元,巴伦,减号),并在结尾处放置你想要的任何东西.'0'表示有时打印的数字,'9'表示始终打印数字.
你mult用来制作.13 - > 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;
Run Code Online (Sandbox Code Playgroud)