首页 > 解决方案 > 验证 SAS 数据集

问题描述

我想验证一个包含 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)。

标签: sassas-macro

解决方案


试试这些调整

  • 增加LRECL
    任何超过 2000 个字符的列都将被剪裁。
  • 增加$被剪裁的变量的长度。
    该值为1532564.756412 个字符,不适合$11.
  • 确保任何具有$<n>.格式的变量不超过<n>
    如果您有,attrib Licnum length=$7 format=$5.那么在查看数据时只会看到前五个字符。

推荐阅读