SAS PROC EXPORT and DBMS=CSV. ERROR: Export unsuccessful. See SAS Log for details

SAS PROC EXPORT and DBMS=CSV. ERROR: Export unsuccessful. See SAS Log for details

我想使用 SAS 9.4 将多个 SAS 数据集导出为 CSV 文件(而不是 xlsx 文件)。将代码用于任何数据集时:

proc export data = dataset
    outfile = "C:\MBorg\dataset.csv"
    dbms = csv replace;
run;

我收到此错误消息:

ERROR: Export unsuccessful.  See SAS Log for details.
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE EXPORT used (Total process time):
      real time           0.06 seconds
      cpu time            0.01 seconds

与错误消息所暗示的相反,SAS 日志没有提供额外的详细信息。

文件夹权限或 Excel 关闭或打开时 运行 根据 , or using an empty dataset, makes no difference. The SAS website 的代码提到当使用 PROC EXPORT with DBMS=CSV 时可能会发生此错误,并且它可以通过使用名称文字语法来避免。但是,按照下面的方式使用它没有任何区别。

proc export data = work.'dataset'n
    outfile = "C:\MBorg\dataset.csv"
    dbms = csv replace;
run;

奇怪的是,我能找到解决问题的唯一方法是重置 SAS。 options obs=max 没有区别。不确定是什么原因导致此消息。这发生在 SAS 9.4 M0 和 M7 上。

在不重置 SAS 的情况下导出 CSV 文件的任何帮助都会有所帮助。

尝试编写您自己的步骤来编写文本文件,而不是让 PROC EXPORT 为您生成一个。这至少应该使错误消息更清楚。

* Get list of variables names ;
proc transpose data=DATASET(obs=0) out=_names_; var _all_; run;
* Write header row ;
data _null_;
  file "C:\MBorg\dataset.csv" dsd lrecl=2000000 ;
  set _names_;
  put _name_ @ ;
run;
* Write data rows ;
data _null_;
  file "C:\MBorg\dataset.csv" dsd lrecl=2000000 mod;
  set DATASET;
  put (_all_) (+0) ;
run;