我试图从记事本(文本)阅读下面的数据文件转换为SAS数据集:数据不正确地读他为失踪人在使用DSD选项INFILE语句(SAS)
name1,124325,08/10/2003,1250.03
name2,114565,08/11/2003,11115.11
name3,000007,08/11/2003,12500.02
当我使用该SAS代码:
data new;
filename tfile '~\transact2.txt';
infile tfile dsd;
input name $ id date mmddyy10. cost 8.2;
run;
我得到这个,成本是所有丢失:
但是,如果我只是用dlm=','
替换dsd
,则会正确读入成本变量。为什么dsd会导致成本变量读取不正确?
谢谢,解决了这个问题!我不知道 - 如果mmddyy10。适用于“日期”的格式是问题,那么为什么SAS将“成本”设置为丢失而不是“日期”?它看起来像“日期”在输出中确实应用了正确的格式。 – LLP
使用格式化输入'date mmddyy10.'而不是列表输入'date:mmddyy10.'时,SAS将精确移动10个字符,并且可以尝试将分隔符读入数据或将光标保留在分隔符之前,以便它看起来你有两个相邻的分隔符,因此缺少一个值。 – Tom