SAS的自定义格式

时间:2016-06-10 19:07:19

标签: sas format

您好我有兴趣为我在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;

但我不确定如何编写语法来附加$符号和( )符号。

感谢。

1 个答案:

答案 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;