我有一个我想要导入的数据集。我的代码是:
DATA AlbumData;
INFILE '/folders/myfolders/TopGrossingAlbumsR.txt' DLM=',' DSD MISSOVER FIRSTOBS=2;
INPUT Album $ Artist $ ReleaseDate ANYDTDTE10. TotalCertifiedCopies 5.1
ClaimedSales 3.0 Genre $;
RUN;
但是我输出的日志表明有很多行无效数据。前两列的数据有点出现但是被截断,所以当我尝试添加一个信息时,例如
Album $30.
然后它将此列中的数据与Artist组合在一起。我不知道如何处理这个问题。
答案 0 :(得分:0)
示例行数据和来自日志的错误消息将有助于诊断。
如果文件确实是分隔的,那么请确保使用列表模式输入样式而不是格式化输入样式。确保这一点的最简单方法是在INPUT
语句中不包含任何信息规范。
最好使用LENGTH
或ATTRIB
语句显式定义变量,而不是强制SAS根据您首次使用变量的方式来猜测它们的定义。
DATA AlbumData;
INFILE '/folders/myfolders/TopGrossingAlbumsR.txt' DLM=',' DSD truncover FIRSTOBS=2;
length Album $30 Artist $30 ReleaseDate 8
TotalCertifiedCopies 8 ClaimedSales 8 Genre $30
;
informat ReleaseDate ANYDTDTE.
format ReleaseDate yymmdd10.;
INPUT Album -- Genre ;
RUN;
如果您必须使用INPUT
语句中的信息,请务必使用之前的:
修饰符。
同样不要在INFORMAT上包含小数位规范,除非你的目的是将任何没有句号的输入字符串除以10的幂。
内森:......这些骰子在他们身上没有任何斑点。他们是空白的 Big Jule:我有点好运,但是 我记得以前的景点。