sas - 验证 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)。
解决方案
试试这些调整
- 增加
LRECL
任何超过 2000 个字符的列都将被剪裁。 - 增加
$
被剪裁的变量的长度。
该值为1532564.7564
12 个字符,不适合$11.
- 确保任何具有
$<n>.
格式的变量不超过<n>
如果您有,attrib Licnum length=$7 format=$5.
那么在查看数据时只会看到前五个字符。
推荐阅读
- vb.net - 将通过 VB.net 创建的自动递增 ID 从父表填充到 SQLite 中的多个子表
- javascript - 删除过去的日期 - Jquery Datepicker
- powershell - SMART Hard Drive INFO Powershell
- excel - 循环并仅用一个替换两个或多个空格
- azure-data-factory - 多个数据流与所有转换合二为一
- angularjs - AngularJs 自定义指令在使用 $compile 后不呈现
- sql - SQL 查询选择
- arrays - 快速将数组发送到 Web 服务参数
- jquery - [Vue 警告]:nextTick 中的错误:“TypeError:this.method 不是函数” - 错误仅在我的控制台上显示,但在浏览器上按预期工作
- azure-devops - devops 使用 Ajax 访问查询数据 WIQL