【发布时间】:2015-08-17 17:58:04
【问题描述】:
背景故事:我正在尝试使用 SAS Enterprise Guide 5.1 导出文件。我已经成功完成了很长一段时间。我有大量的 SAS 程序每天运行都没有问题,但最近我注意到 SAS 在文件路径中添加了额外的斜杠 (/),然后声称路径错误。我的一个 SAS 程序每天都运行了几个月,根本没有被编辑,不知从哪里出现了这个问题!代码没有任何变化!
这是我最近一次导出尝试中遇到相同问题的日志:
%PUT REPORTDATE = %sysfunc(intnx(day,%sysfunc(today()),-1),date7.);
REPORTDATE = 16AUG15
%LET FILE = filename_REPORTDATE..xlsx;
PROC EXPORT
DATA = finalData
OUTFILE = "filepath/&FILE"
DBMS = xlsx
REPLACE;
SHEET = "Sheet1";
RUN;
ERROR: Temporary file for XLSX file can not be created ->
/filepath//filename_REPORTDATE..$$1. Make sure the path name is correct
and that you have write permission.
所以,路径不正确,我没有权限......因为它不存在那个额外的 /。
如果任何 SAS 向导可以对此有所了解,我将不胜感激!
编辑:“文件路径”不是宏,出于隐私原因,我只是删除了实际文件路径。它是一个写出的路径,“/foo/bar/&FILE”
【问题讨论】:
-
filepath是写出来的固定路径,还是宏变量?而且,您正在运行什么版本的 SAS(不是 EG 版本,而是基本 SAS 版本)? -
你确定文件路径存在吗? AFAIK SAS 将忽略路径名中的双 // 并导出到预期路径。
-
@Reeza 我知道在 Windows 中是这样,在 Unix/linux 中不确定。
-
从 %put "/foo/bar/&file" 的日志中得到了什么; ?是否只有通过 EG 提交代码时才会出现此问题?只是proc导出有这个问题吗?您能否成功运行写入文本文件 /foo/bar/&file 的数据 null 步骤?
-
我刚刚在 Unix 和 Windows 中测试过,额外的 / 不要阻止 SAS 导出数据集,它会忽略额外的 /。问题出在其他地方,访问问题、文件创建和打开问题或无效名称。
标签: sas