验证SAS数据集

时间:2018-12-25 04:46:36

标签: sas sas-macro

我想验证具有100个变量和超过100000条记录的数据集。我正在以字符串形式(即使是数字数据)导入数据。我观察到一些变量最后被截断了。如何验证每个变量以确保数据完全填充(未截断)?

样本数据:

data dsn;
infile "xyz.txt" dlm= '|' RECFM=V LRECL=2000 PAD MISSOVER;
length
a1 $20.
a2 $100.
a3 $50.
;
input a1 $
a2 $
a3 $
;
run;

例如,字符串值为1532564.7564,导入后得到1532564.756。所以,我的问题是这就是被截断的价值。但是,当我将其更改为数值数据时,我将获得全部价值。同样,Licnum是字符数据(例如:12xd456),并且在最后一位被截断(显示为12xd4)。

1 个答案:

答案 0 :(得分:3)

尝试这些调整

  • 增加LRECL
    超过2000个字符列的所有内容都会被剪切。
  • 增加要裁剪的变量的$长度。
    1532564.7564为12个字符,不适用于$11.的变量
  • 确保任何格式为$<n>.的变量都不能超过<n>
    如果您有attrib Licnum length=$7 format=$5.,则在查看数据时只会看到前五个字符。