#csv #import #sas #mainframe
#csv #импорт #sas #мэйнфрейм
Вопрос:
Есть ли какой-либо способ автоматического чтения имен столбцов CSV в среде мэйнфрейма, поскольку ИМПОРТ PROC не поддерживается в мэйнфрейме? Попробовал приведенный ниже код, он работает в SAS для ПК, но не в SAS для мэйнфреймов.
FILENAME FILEIN "ABC.CUST.FILE" DISP=SHR RECFM=V;
DATA VARNAMES;
INFILE FILEIN DELIMITER=',' DSD OBS=1 LRECL=32000;
INPUT VARNAME $ @@;
RUN;
Заранее спасибо.
Комментарии:
1. Я не знаю какой-либо конкретной причины, по которой этот общий метод не будет работать на мэйнфрейме, но я не эксперт по мэйнфреймам. Можете ли вы опубликовать, что в этом не работает?
2. Приведенный выше код принимает длину по умолчанию равной 8 и не может идентифицировать запятую в качестве разделителя. На данный момент я не могу привести точный пример, потому что у меня есть некоторые проблемы в среде мэйнфрейма. Я буду обновлять точную проблему раньше.
3. Длина по умолчанию 8 должна иметь место как для мэйнфреймов, так и для SAS ПК.
varname
Перед вводом (или:$32.
в инструкции ввода) необходимо указать оператор длины для. Запятая должна работать, возможно, это не та же запятая (какая-то проблема, подобная unicode)?4. @Joe Спасибо Джо. Теперь он работает с использованием 32. Уже пробовал использовать Length, но он не работал из-за некоторых проблем с доступом к мэйнфрейму.
Ответ №1:
Вы можете использовать PROC IMPORT на ПК и скопировать сгенерированный код datastep в мэйнфрейм.