SAS Raw импорт данных - PullRequest
0 голосов
/ 08 мая 2018

Я хочу импортировать необработанный набор данных в SAS, первый столбец которого начинается с "C". Но что-то не так с моим кодом, так как в окне журнала появляется сообщение об ошибке: -

Кто-нибудь может мне помочь осознать это?

Образец набора данных: =

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 голосов
/ 08 мая 2018

Ошибка (которую было бы неплохо добавить к вопросу), скорее всего, связана с вводом DOB без соответствующей информации. Следующее может помочь.

 attrib dob informat=date9. format=date9.;

informat для обработки ввода и формат для вывода.

Простой оператор INPUT прочитает некоторые данные и сразу перейдет к следующей строке.

При обработке одной строки данных с помощью нескольких операторов ввода в предыдущих операторах ввода следует использовать символ @ в конце, чтобы указать «удерживаемый ввод» и заставить процессор ввода не переходить сразу к следующей строке. Вместо этого «активная позиция» входного процессора останется в той же строке в последней позиции, использованной для ввода.

Изменение кода следующим образом заставит процессор ввода остаться в той же строке.

  input @1 FC $1. @;

Примечание. Входной процессор перейдет к следующей строке, когда произойдет следующая неявная итерация шага данных. Это означает, что при сбое if следующая итерация в шаге данных будет считываться со следующей строки в файле.

Ввод можно проводить через неявные итерации, используя два символа @ (input .... @@;)

...