0="%" %" 即 0 >>>>>>> - .74 >>>>> 74% -.65-6ren">
gpt4 book ai didi

sas - SAS 的自定义格式

转载 作者:行者123 更新时间:2023-12-04 22:32:33 29 4
gpt4 key购买 nike

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

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

谢谢。

最佳答案

百分比格式相当简单。一美元有点棘手,因为你必须注意宽度。

基本上,您需要使用 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;

关于sas - SAS 的自定义格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37755549/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com