gpt4 book ai didi

logging - 查看SAS代码的输出日志

转载 作者:行者123 更新时间:2023-12-02 07:27:18 25 4
gpt4 key购买 nike

我团队中的一名成员正在使用 SAS,当输入文件因任何原因不正确时,他们的代码会返回“错误”、“无效”、“合并语句”、“未初始化”和“警告”语句。

运行代码后,我经常使用 CTRL+F 检查这些关键字的输出日志,并且必须相应地修改我的输入文件。

正如您所想象的,使用 CTRL+F 是相当费力的。

如果输出中前面有任何上述语句,我希望代码在输出末尾自动打印。

我该怎么做?我在哪里可以找到有关如何对此进行编程的信息?

我正在使用 SAS 9.1

最佳答案

考虑使用 PROC PRINTTO 将您的日志重定向到一个文件。从那里运行此代码以查找您提到的字符串的任何匹配项:

filename logfl "<insert log filename here>" lrecl=32767;
/* Lrecl set high to ensure long lines are captured */

data _NULL_;
infile logfl;
input;
if index (_infile_,'ERROR:') then put _infile_;
else if index(_infile_,'WARNING') then put _infile_;
else if index(_infile_,'uninitialized') then put _infile_;
else if index(_infile_,'Merge statements') then put _infile_;
run;

一定要匹配您要查找的字符串的大小写,或者简单地使用 UPCASE() 来恢复任何大小写,例如

if index(upcase(_infile_),'UNINITI') then put _infile_;

这将匹配 UninitiUNINiTi

代码将按照在日志中找到的顺序简单地打印回感兴趣的行。您可以通过以下方式进一步改进代码:

  • 将字符串放入单独的数据集或平面文件中(如果您发现更多想要查找的内容并希望使代码更易于维护)
  • 打印找到字符串的行号(输出 _N__infile_ - 先测试一下,我不确定 _N_准确地映射到行号)

关于logging - 查看SAS代码的输出日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26675302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com