【发布时间】:2016-12-27 20:22:14
【问题描述】:
我在数据集 OLD 上有一个名为 ID 的变量,我需要将长度从 13 更改为 12 以进行合并。以下是与此变量关联的元数据。
Variable Type Len Format Informat Label
ID Char 13 $12. $12. 'Person ID'
(ID 的每个值的内容在这个文件中总是正好是 12 个字符)
当我尝试在 DATA 步中编辑 set 语句之前的长度时,我收到一条警告。当我同时编辑长度和格式时,也会发生同样的情况。
data NEW;
length ID $12;
format ID $12.;
set OLD;
run;
...
WARNING: Multiple lengths were specified for the variable AN_RESEARCHID by
input data set(s). This can cause truncation of data.
来自 SAS 社区论坛的示例似乎没有说明为什么会出现此警告,或者如何避免它。有什么想法吗?
【问题讨论】:
-
您还应该找出为什么您有长度为 $13 的变量但格式为 $12 的原因。和 12 美元的信息。永久地依附于它。是否有可能第 13 个字符不是空的,但是由于附加的格式,您只是看不到值?
-
感谢汤姆的建议。我已经确认第 13 个字符确实是空的 - 看起来在上游程序中生成随机 ID 的人设置的长度大于他们分配的整数中的数字。
标签: sas variable-length