Я написал некоторый код с надеждой на импорт нескольких листов, но я получаю сообщение об ошибке: «ОШИБКА: тип СУБД XLSX недопустим для импорта».
Я посмотрел на ошибку и попробовал XLS et c, а затем проверил
proc setinit; run;
Вывод не включал «--- Интерфейс SAS / ACCESS для файлов P C», и в этом случае я вижу, что вместо этого рекомендуется использовать файл CSV. Это было бы хорошо, за исключением того, что я пытаюсь импортировать десятки листов в макрос (см. Ниже) из одной книги Excel. Я не уверен, что имеет смысл сохранять каждый лист в формате csv, чтобы макрос мог извлекать все файлы. Это будет трудоемким в будущем, так как эти таблицы будут обновляться, возможно, несколько раз в год.
%let path = 'C:/Desktop/Folder';
%macro importsheet(sheet);
proc import out= &sheet
datafile = &path
dbms=XLSX replace;
getnames=yes;
run;
%mend;
%importsheet(sheet1);
Мой основной вопрос таков: является ли опция csv единственным / лучшим решением для того, о чем я спрашиваю? Мой резервный план состоит в том, чтобы просто сделать autoexe c, но я хотел бы убедиться, что я тщательно изучил написание макроса и отбросил его как опцию, прежде чем сделать это.