Я хочу перенести таблицу из Excel в SAS (версия 9.2 и формат файла Excel - .XLSM, макрос). Имена столбцов будут считаны из ячейки B3, и данные будут исходить из ячейки B4, как показано ниже:Импорт таблицы с неизвестной длиной из Excel .xlsm
A B C D E F G ...
1
2
3 Col1 Col2
4 15 20
5 16 21
6 ... ...
Проблема в том, что последний номер строки неизвестен, так как длина таблицы может быть 200 строк сегодня и завтра может быть 350 строк.
Так как я могу импортировать эту таблицу из Excel (.XLSM) в SAS-таблицу?
Я где-то читал, что мы можем использовать DATAROW
в Proc Import
когда DBMS=EXCEL
, как показано ниже:
proc import datafile = "!datafile" out=Table1 DBMS = EXCEL REPLACE;
SHEET = "Sheet1"; GETNAMES=YES; MIXED=YES; USEDATE=YES; SCANTIME=YES; NAMEROW=3; DATAROW=4;
run;
Однако SAS не может распознать опцию DATAROW
, что дает ошибку:
ERROR 180-322: Statement is not valid or it is used out of proper order.
Там есть еще один способ таблицы импорта из Excel:
PROC SQL;
CONNECT TO EXCEL (PATH='C:\\thepath\excelfile.xlsm');
Create Table Table1 as SELECT * FROM CONNECTION TO EXCEL
(SELECT * FROM [Sheet1$]);
DISCONNECT FROM EXCEL;
QUIT;
Кто-нибудь знает, как экспортировать таблицу с неизвестным количеством строк из .XLSM в SAS?
Спасибо. Но уверены ли вы, что это правильный стиль письма со всеми кавычками и всеми другими буквами? Потому что я написал ту же структуру, но мой SAS застрял внутри процесса, и я должен был прекратить мой SAS. – user3714330