Оператор input
сообщает SAS, как читать из текстового файла, но не указывает, где искать текст. То, что вы делаете с оператором infile
, как в
DATA WORK.POLLUTION;
INFILE "C:\myFolder\myInput.txt";
INPUT State $ County $ City $ Month $ Year $ O3MAX $ Category;
...;
run;
При желании вы можете заранее указать информацию о файле, дав ему имя и сославшись на него:
filename MY_TEXT "C:\myFolder\myInput.txt";
DATA WORK.POLLUTION;
INFILE MY_TEXT;
INPUT State $ County $ City $ Month $ Year $ O3MAX $ Category;
...;
run;
A специальное имя файла datalines
, которое ссылается на встроенные данные, между оператором datalines
и точкой с запятой
DATA WORK.POLLUTION;
INFILE datalines;
INPUT State $ County $ City $ Month $ Year $ O3MAX $ Category;
...;
datalines;
<your data comes here>
;
run;
Если вы не укажете оператор INFILE, то infile datalines;
неявно используется, но как вы не давать datalines;
заявление, нет ввода. Бьюсь об заклад, ваш журнал что-то говорит о нулевых прочитанных строках.
Кстати, почему вы указываете Category в выражении input
? Я полагаю, что это только в вашем выводе.
Еще много можно сказать о выражении infile
. Например, у вас есть опции для обработки строк, в которых заполнены не все данные, например trunkover
, о которых вы должны прочитать.