Импорт файла Excel, расположенного на сервере UNIX, в SAS - PullRequest
1 голос
/ 15 марта 2012

Я пытаюсь импортировать файл Excel в набор данных с помощью SAS, однако обычный подход:

PROC IMPORT OUT= test.test
            DATAFILE= "M:/excelfile.xls"
            DBMS=EXCEL REPLACE;
     SHEET="Sheet1";
     GETNAMES=YES;
     MIXED=NO;
     SCANTEXT=YES;
     USEDATE=YES;
     SCANTIME=YES;
RUN;

работает только в Windows.

Я использую SAS 9.2 .. Я пыталсяразные СУБД, такие как XLS, EXCELCS без удачи ... Я потратил много времени на это, я хотел бы знать, если это возможно .. У меня нет доступа к другим языкам, кроме SAS и SHELL (нет PERL)

Есть ли способ выполнить то, что я ищу?

Это установленные базовые продукты

Операционная система: AIX 64
--- Базовый продукт
--- SAS / STAT

--- SAS / GRAPH

--- SAS / ETS
--- SAS / OR --- SAS / CONNECT
--- SAS Integration Technologies
--- ИЛИ OPT
--- ИЛИ PRS
--- ИЛИ IVS
--- ИЛИ LSO
--- SAS / ДОСТУП Интерфейс дляDB2

Ответы [ 4 ]

1 голос
/ 17 марта 2012

Если список установленных базовых продуктов в AIX правильный, у вас нет продукта SAS Access to PC File Format, лицензированного для UNIX. Поскольку вы упоминаете «удаленную отправку» и что у вас есть SAS Access на вашем ПК, вы можете передать файл на свой ПК, использовать PROC IMPORT, а затем передать набор данных SAS обратно на сервер:

rsubmit;
proc download infile='M:/excelfile.xls'
              outfile='c:\temp\excelfile.xls'
              binary;
run;
endrsubmit;

PROC IMPORT OUT=work.test
            DATAFILE= 'c:\temp\excelfile.xls'
            DBMS=EXCEL REPLACE;
    SHEET="Sheet1";
    GETNAMES=YES;
    MIXED=NO;
    SCANTEXT=YES;
    USEDATE=YES;
    SCANTIME=YES;
RUN;

rsubmit;
proc upload data=test out=test.test;
run;
endrsubmit;

Надеюсь, это поможет, Боб

0 голосов
/ 17 октября 2012

Возможно, проблема в том, что вам нужно запустить SAS с опцией -noterminal, как объяснено здесь .

0 голосов
/ 23 июля 2012

Я знаю, что уже поздно, но для записи вы должны иметь возможность импортировать xlsx (таблицу данных XML Excel) с SAS, используя механизм данных XML и пользовательский XMLMAP, который предоставляется поддержкой SAS.

См. Статью здесь http://www2.sas.com/proceedings/sugi31/115-31.pdf, чтобы узнать, как это сделать и где взять XML-карту.

0 голосов
/ 15 марта 2012

См. здесь - параметры, которые вы можете использовать, зависят от указанной вами СУБД (например, похоже, что вы не можете использовать GETNAMES с EXCELCS). Вы пытались удалить PROC IMPORT обратно, то есть, опустив некоторые опции:

proc import out=work.test
  datafile = "/path/to/file.xls"
  dbms = EXCELCS replace;
  sheet = "Sheet1";
run;
...