У меня есть набор данных (employeeinfo.dat), который выглядит (обратите внимание, что гораздо больше наблюдений, чем просто это) следующее:
(Level1) Chief Executive Officer (Anthony Miller ) $433,800
(Level2) Chief Sales Officer (Harry Highpoint ) $243,190
(Level3) Vice President (Henri Le Bleu ) $194,885
(Level4) Director (Reginald Steiber ) $156,065
(Level5) Sales Manager (Dennis Lansberry ) $84,260
(Level6) Sales Rep. I (Saunders Briggi ) $26,335
(Level5) Senior Sales Manager (Louis Favaron ) $95,090
(Level6) Sales Rep. I (Harold Boulus ) $26,035
Мне нужно прочитать это в SAS, чтобы я мог разделитьданные в следующие переменные: уровень, должность, имя и зарплата.
Моя проблема заключается в том, что в данных указаны разные уровни (без заданного шаблона).Это означает, что я не могу принимать как должное то, что любая из переменных начинается с какого-либо конкретного места (столбца) во вводимых данных, и я не могу указать длину для большинства переменных, поскольку они различаются.
Вот моя слабая попытка(Я, по крайней мере, правильно загрузил первую запись), просто чтобы убедиться, что у меня вообще есть представление:
data emp;
infile 'employeeinfo.dat';
input @1 position $9.
@10 jobtitle $24.
@35 name $72.
@108 salary dollar8.;
run;
Это правильно загружает первую запись, но, очевидно, бесполезно для остальных.
Есть идеи, как это сделать?
Примечание: у меня есть одно ограничение в этом.В тексте, который я использую, говорится, что цель этого упражнения - дать опыт работы с файлами необработанных данных фиксированной ширины, которые не имеют разделителей.Решение должно иметь несколько операторов ввода с элементами управления указателем.