SAS 脚本通过 EG 运行,但在 linux 中失败
SAS script works via EG, but fails in linux
我正在尝试遍历集合并获取文件的 path
。然后,我想打开文件并从中取出另一组文件。
我的问题是我的脚本 works
通过 Enterprise Guide 执行时没有任何问题,但如果通过命令行执行则 fails
。
WARNING: Apparent invocation of macro GET_DATA not resolved.
似乎我的 path
变量没有设置,当我通过命令行 运行 时我的宏没有被执行。
data _null_;
set files_to_parse;
count + 1;
call execute('%get_data('||path||', '||count||')');
run;
这里我试图将一个excel实例化为一个库
%macro get_data(path, cnt);
/* Get current iteration of excel spreadsheet */
libname xl XLSX "&path.";
%mend get_data;
错误是%get_data
没有编译,不是没有解析路径。
很难用您提供给我们的信息说出原因,但由于您看到 EG 与命令行中的差异 运行,我怀疑您要么将宏编译为 autoexec 流程的一部分在 EG 中,或者您有一个未通过命令行配置文件正确设置的自动调用宏库。如果您不知道这些是什么意思,请咨询您的 SAS 管理员。
确保您在尝试使用宏之前已经定义了它。也许使用 EG,您的程序可以运行,因为您之前已经编译了宏。
我正在尝试遍历集合并获取文件的 path
。然后,我想打开文件并从中取出另一组文件。
我的问题是我的脚本 works
通过 Enterprise Guide 执行时没有任何问题,但如果通过命令行执行则 fails
。
WARNING: Apparent invocation of macro GET_DATA not resolved.
似乎我的 path
变量没有设置,当我通过命令行 运行 时我的宏没有被执行。
data _null_;
set files_to_parse;
count + 1;
call execute('%get_data('||path||', '||count||')');
run;
这里我试图将一个excel实例化为一个库
%macro get_data(path, cnt);
/* Get current iteration of excel spreadsheet */
libname xl XLSX "&path.";
%mend get_data;
错误是%get_data
没有编译,不是没有解析路径。
很难用您提供给我们的信息说出原因,但由于您看到 EG 与命令行中的差异 运行,我怀疑您要么将宏编译为 autoexec 流程的一部分在 EG 中,或者您有一个未通过命令行配置文件正确设置的自动调用宏库。如果您不知道这些是什么意思,请咨询您的 SAS 管理员。
确保您在尝试使用宏之前已经定义了它。也许使用 EG,您的程序可以运行,因为您之前已经编译了宏。