导入数据时遇到问题

时间:2018-03-02 04:03:25

标签: sas

我有一个我想要导入的数据集。我的代码是:

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组合在一起。我不知道如何处理这个问题。

1 个答案:

答案 0 :(得分:0)

示例行数据和来自日志的错误消息将有助于诊断。

如果文件确实是分隔的,那么请确保使用列表模式输入样式而不是格式化输入样式。确保这一点的最简单方法是在INPUT语句中不包含任何信息规范。

最好使用LENGTHATTRIB语句显式定义变量,而不是强制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:我有点好运,但是   我记得以前的景点。