SAS Raw数据导入

时间:2018-05-08 02:39:46

标签: sas

我想在SAS中导入一个原始数据集,其第一列以" C" .But开头  我的代码有问题,因为ERROR在日志窗口中不断弹出: -

有人可以帮我实现吗??

样本数据集:=

H 1095 NJ 06DEC84
C 01DEC11 $45.0
C 01AUG11 $37.5
H 1096 CA 01SEP83

我的代码: -

  Filename hca2 'C:\Users\Desktop\SAS\datasets\HCA_file.txt';                                                                             
    Data assign8.hca2;                                                                                                                      
    Infile hca2;                                                                                                                            

    Input@1 FC $1.;                                                                                                                       

    If FC = 'C' then                                                                                                                        
    Input @3 DOB @11 Transaction_Value ;                                                                                                    
                                                                                                                                             Run;                  

1 个答案:

答案 0 :(得分:2)

错误(可能很好地添加到问题中)可能来自DOB的输入而没有相关的信息。以下内容可能有所帮助。

 attrib dob informat=date9. format=date9.;

信息用于处理输入,格式用于输出。

一个简单的INPUT语句将读入一些数据并立即跳到下一行。

当处理具有多个输入语句的单行数据时,较早的输入语句应使用尾随@符号来指示“保持输入”并使输入处理器不立即进入下一行。相反,输入处理器的“活动位置”将保留在用于输入的最后位置的同一行中。

如下更改代码将强制输入处理器保持在同一行。

  input @1 FC $1. @;

注意:当下一个隐式数据步骤迭代发生时,输入处理器将跳到下一行。这意味着当您的if失败时,数据步骤中的下一次迭代将从文件的下一行读取。

通过使用两个@符号(input .... @@;

,可以跨隐式迭代保持输入