Ошибка чтения фиксированных форматов в SAS
Вот несколько строк данных.
q 2016 55 59 580067.12 89453.03 74579.31 63005.34 54211.66
q 2016 60 64 826983.94119020.88 99145.49 85347.23 75223.34
q 2016 65 69 1080400.00139847.91116260.10103226.14 93063.24
q 2016 70 74 1086917.25120158.78100291.15 91782.05 85081.34
Я сохранил это в файле с именем "junk.txt". Следующие биты кода SAS ведут себя по-разному в этих строках.
filename junk "junk.txt";
data temp;
infile junk ;
input
@1 TYPE $ 2.
@4 year 4.
@9 age1 2.
@12 age2 2.
@15 foo 10.2
@25 bar 9.2
@34 YSD1-YSD3 9.2;
run;
proc print;
data temp;
infile junk ;
input
@1 TYPE $ 2.
@4 year 4.
@9 age1 2.
@12 age2 2.
@15 foo 10.2
@25 bar 9.2
@34 YSD1 9.2
@43 YSD2 9.2
@52 YSD3 9.2;
run;
proc print;
Я получаю ошибочное чтение из первого ввода и правильное чтение со второго ввода. Пытаюсь выяснить, что происходит. На самом деле у меня намного больше переменных, чем 3, поэтому мне было бы полезно использовать синтаксис ярлыков.
1 ответ
Мой коллега был знаком с синтаксисом, с которым я не был знаком. Поведение следующего такое же, как поведение моего второго метода.
filename junk "junk.txt";
data temp;
infile junk ;
input
@1 TYPE $ 2.
@4 year 4.
@9 age1 2.
@12 age2 2.
@15 foo 10.2
@25 bar 9.2
@34 (YSD1-YSD3) (9.2);
run;
proc print;