【发布时间】:2018-05-17 09:02:32
【问题描述】:
我正在尝试确定 SAS 如何读取 length 语句,然后是 informat 语句。我可能会产生误解,但我的印象是数字变量的 informat 语句是这样工作的:
informat number 5.;
这将为变量number 提供informat 5,允许5 个数字填充它。例如。 12345
但是,当我运行以下程序时,我有一个包含 9 位数字的数字 987654321,其长度适合数字 6,这将代表所有数字,直到 137,438,953,472
问:长度语句是否“覆盖”informat 语句并允许所有 9 位数字填充变量 number?如何将所有 9 位数字都放入变量 number 中,informat 为 5.?
data tst;
input number;
length number 6;
informat number 5.;
datalines;
987654321
;
run;
proc print data=tst;
run;
基于此 SAS 文档: http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000199348.htm
w 指定输入字段的宽度。范围:1-32
informat w.d 似乎可以像我最初描述的那样工作,并且不允许所有 9 位数字都填充 数字
【问题讨论】:
-
嗨 - 这是一个很好的问题,感谢您提出问题并在问题中提供如此具体的细节。像这样的问题很高兴回答!
-
@Joe 没问题。我真的对此感到困惑。过去我使用信息没有问题,因为我会以适当的长度完成
informat number 9.。我遇到了这个并且被难住了。令我难以置信的是输出数据是正确的。