未显示 proc 格式变量格式



我正在尝试将格式应用于数据集中的变量,但是在运行数据步骤后,我仍然只看到原始值(例如-1(而不是格式化值(例如-1=不适用(。 下面的最小可重现代码示例。任何帮助都非常感谢。

proc format library=PUFLIB;
'-1' = '-1 INAPPLICABLE'
'1' = '1 YES'
'2' = '2 NO'
'3' = '3 DOES NOT WORK'
;
run;
data example_ds;
FORMAT ACCDNWRK $ACCDNWRK_FMT.;
input accdnwrk $;
datalines;
1
2
3
-1
;

请务必查看您的日志。

它表明错误紧跟在PROC FORMAT语句之后。在这种情况下,你将缺少告知 SAS 格式是informat还是format以及格式名称的代码。

70         
71          proc format library=PUFLIB;
72           '-1' = '-1 INAPPLICABLE'
____
180
ERROR 180-322: Statement is not valid or it is used out of proper order.
73           '1' = '1 YES'
74           '2' = '2 NO'
75           '3' = '3 DOES NOT WORK'
76             ;
NOTE: The previous statement has been deleted.
77         run;
NOTE: PROCEDURE FORMAT used (Total process time):
real time           0.00 seconds
cpu time            0.01 seconds

添加value以指示它是一种格式,然后添加格式名称,accwrk_fmt是需要的。

proc format library=puflib;
value accwrk_fmt
*rest of your code*

您似乎想要一种数字格式。希望这对你有帮助

proc format;
value ACCDNWRK_FMT
-1 = '-1 INAPPLICABLE'
1  = '1 YES'
2  = '2 NO'
3  = '3 DOES NOT WORK'
;
run;
data example_ds;
FORMAT ACCDNWRK ACCDNWRK_FMT.;
input accdnwrk;
datalines;
1
2
3
-1
;

最新更新