SAS导入 - 文件不存在

时间:2016-04-20 19:55:53

标签: excel import sas

我正在尝试将Excel工作表导入SAS,但出于某种原因,SAS无法找到工作簿。这是我得到的代码和错误:

PROC IMPORT Out=Transactionsmaster DATAFILE="C:\Users\me\Documents\Transactions"
DBMS=XLSX Replace;
GETNAMES=YES;
RUN;

错误:XLSX文件不存在 - > /config/Lev1/SASApp/C:\Users\me\Documents//Transactions.xlsx

我是否必须首先将Excel工作表导入SASApp?有没有办法在不使用导入向导的情况下执行此操作?

提前致谢!

3 个答案:

答案 0 :(得分:2)

让我们看看错误消息:

ERROR: XLSX file does not exist -> /config/Lev1/SASApp/C:\Users\me\Documents//Transactions.xlsx

查看文件路径。

/config/Lev1/SASApp/

显然是Linux / Unix服务器上的路径。这是运行Workspace服务器时的默认位置。从此,我猜你会通过企业指南(EG)与SAS连接。

C:\Users\me\Documents//Transactions.xlsx

这是您输入的路径。

那发生了什么? SAS正在远程服务器上运行 - 一台运行Linux / UNIX的服务器。您要求SAS打开" C:\ Users \ me \ Documents // Transactions.xlsx"。

然而," C:\ stuff \ more \ file"在Linux / UNIX上不是有效的文件系统路径。所以SAS认为这是文件名并在默认位置" / config / Lev1 / SASApp"

中查找

要解决此问题,您需要将XLSX文件上传到服务器。然后在代码中使用服务器上文件的路径。如果您不确定如何执行此操作,请与您的系统管理员联系。

或者,您可以使用EG中​​的数据导入向导。我不是它的粉丝,因为它有时会搞砸,但确实有效。

答案 1 :(得分:0)

如果您尚未导入文件,请在导入之前关闭该文件。您可能还在引用文​​件夹而不是示例中的文件(除非Transactions.xlsx是您要导入的文件)

答案 2 :(得分:0)

如果使用Enterprise Guide或DI运行此代码(即您将代码提交到远程SAS服务器),则需要将文件传输到服务器端。 您可以使用PROC UPLOAD传输文件。

相关问题