Объединение тех же данных, но в двух разных наборах данных - PullRequest
0 голосов
/ 12 ноября 2018

Я должен объединить эти два набора данных, которые содержат абсолютно одинаковые данные, но записаны по-разному:

Внешние данные :

* (i);
A123   4Mar1989    8,60000
A037  23Jun1957   21,45000
M015  19Sep1977   17,50000

* (ii);
A123  4Mar1989  8,6,00
***************
    A037 23Jun1957  21,450
**************
 M015 19Sep1977$17,500
***********

Первая запись должна иметь

ID = "A123", DEPT = "A", BIRTHDAY = 10655, YEAR = 1989, SALARY = 8600

Пока мой подход (который не работает):

data i;
   input $ID $Dep $BIRTHDAY $YEAR $SALARY;
   datalines;
A123   4Mar1989    8,60000
A037  23Jun1957   21,45000
M015  19Sep1977   17,50000
;
run;

Есть предложения?

1 Ответ

0 голосов
/ 12 ноября 2018

Попробуйте это:

data i;
  input DEPT $1. @1 ID $ BIRTHDAY :date9. +(-5) YEAR :8. SALARY comma10.0;
  datalines;
A123   4Mar1989    8,60000
A037  23Jun1957   21,45000
M015  19Sep1977   17,50000
;
run;

При этом используется форматированный ввод с элементами управления указателем, чтобы дублировать части, которые необходимо прочитать дважды. Пожалуйста, обратитесь к документации для заявления ввода для получения дополнительной информации.

Вы также можете использовать substr для извлечения DEPT из ID или функцию year для извлечения из BIRTHDAY.

...