SAS - методы ввода

Методы ввода используются для чтения необработанных данных. Необработанные данные могут быть из внешнего источника или из потоковых данных. Оператор ввода создает переменную с именем, которое вы назначаете каждому полю. Итак, вам нужно создать переменную в операторе ввода. Эта же переменная будет отображаться в выходных данных SAS Dataset. Ниже приведены различные методы ввода, доступные в SAS.

  • Метод ввода списка
  • Именованный метод ввода
  • Метод ввода столбца
  • Форматированный метод ввода

Подробности каждого метода ввода описаны ниже.

Метод ввода списка

В этом методе переменные перечислены с типами данных. Необработанные данные тщательно анализируются, чтобы порядок объявленных переменных соответствовал данным. Разделитель (обычно пробел) должен быть одинаковым между любой парой соседних столбцов. Любые отсутствующие данные вызовут проблему в выводе, поскольку результат будет неправильным.

пример

Следующий код и выходные данные показывают использование метода ввода списка.

DATA TEMP;
INPUT   EMPID ENAME $ DEPT $ ;
DATALINES;
1 Rick  IT
2 Dan  OPS
3 Tusar  IT
4 Pranab  OPS
5 Rasmi  FIN
;
PROC PRINT DATA = TEMP;
RUN;

Запустив код bove, мы получаем следующий результат.

Именованный метод ввода

В этом методе переменные перечислены с типами данных. Необработанные данные изменяются, чтобы имена переменных объявлялись перед соответствующими данными. Разделитель (обычно пробел) должен быть одинаковым между любой парой соседних столбцов.

пример

Следующий код и выходные данные показывают использование именованного метода ввода.

DATA TEMP;
INPUT   
EMPID= ENAME= $ DEPT= $ ;
DATALINES;
EMPID = 1 ENAME = Rick  DEPT = IT
EMPID = 2 ENAME = Dan  DEPT = OPS
EMPID = 3 ENAME = Tusar  DEPT = IT
EMPID = 4 ENAME = Pranab  DEPT = OPS
EMPID = 5 ENAME = Rasmi  DEPT = FIN
;
PROC PRINT DATA = TEMP;
RUN;

Запустив код bove, мы получаем следующий результат.

Метод ввода столбца

В этом методе переменные перечислены с типами данных и шириной столбцов, которые определяют значение одного столбца данных. Например, если имя сотрудника содержит максимум 9 символов и каждое имя сотрудника начинается с 10-го столбца, тогда ширина столбца для переменной имени сотрудника будет 10-19.

пример

В следующем коде показано использование метода ввода столбца.

DATA TEMP;
INPUT   EMPID 1-3 ENAME $ 4-12 DEPT $ 13-16;
DATALINES;
14 Rick     IT 
241Dan      OPS 
30 Sanvi    IT 
410Chanchal OPS 
52 Piyu     FIN 
;
PROC PRINT DATA = TEMP;
RUN;

Когда мы выполняем приведенный выше код, он дает следующий результат -

Форматированный метод ввода

В этом методе переменные считываются с фиксированной начальной точки до тех пор, пока не встретится пробел. Поскольку каждая переменная имеет фиксированную начальную точку, количество столбцов между любой парой переменных становится шириной первой переменной. Символ '@n' используется для указания позиции начального столбца переменной как n-го столбца.

пример

В следующем коде показано использование метода форматированного ввода.

DATA TEMP;
INPUT   @1 EMPID $ @4 ENAME $ @13 DEPT $ ;
DATALINES;
14 Rick     IT 
241 Dan      OPS 
30 Sanvi    IT 
410 Chanchal OPS 
52 Piyu     FIN 
;
PROC PRINT DATA = TEMP;
RUN;

Когда мы выполняем приведенный выше код, он дает следующий результат -