【问题标题】:What does the following ODS error mean in SAS?SAS 中的以下 ODS 错误是什么意思?
【发布时间】:2015-08-19 03:46:59
【问题描述】:

在学习 SAS 时,我正在 SAS-University 中使用一些基本宏,但由于某种原因,我的程序无法运行。我在 Ubuntu Linux 上的虚拟机中运行它。相同的代码似乎在 Windows 的 SAS 9.4 中运行得很好(但是,我现在不适合使用 Windows)。

如何在 SAS-University 中解决它?

这里是小程序:

ls=78 nocenter nodate ps=55 mtrace mlogic mprint nonumber formdlim='#';

/* Macro called indata1 to read in data */

%macro indata1(fname, num);

  %do i = 1 %to # *Macro do to input many files; 

    data &fname&i; * Create SAS dataset; 
    infile "/folders/myfolder/&fname&i._su15.txt" firstobs=4; * Read in data; 
    input name $ 1-8 breed $ 10-24  age  gender $ 29-34  chip $ 36-39 weight;

    proc print; 

  %end 

%mend indata1;

%indata1(dog, 1);
run; quit;

短版(显示错误的日志文件的一部分):

45         ODS LISTING CLOSE;  46         OPTIONS PRINTERPATH=PDF;  47
ODS AUTONAVIGATE OFF;  48         ODS GRAPHICS ON;  49         ODS
HTML5 (ID=WEB) DEVICE=PNG GPATH="&_SASWSTEMP_" ENCODING=utf8  49      
! FILE=_HTMLOUT (TITLE='Results:  49       ! file4.sas')
STYLE=Htmlblue OPTIONS(BITMAP_MODE='INLINE'
                           _______________________________________  
____________                                                                  
                           49                                           49

【问题讨论】:

  • 请格式化您的代码。另外,我在您的日志中没有看到任何错误,因此请发布错误部分和消息。您的宏似乎缺少分号。

标签: macros sas options


【解决方案1】:

我看到的几个可能的错误是:

  1. 文件路径缺少 S,应为 /folders/myfolders/...
  2. proc 打印后没有run;
  3. 第一行缺少option 部分代码
  4. %end 缺少分号

编辑:我还应该添加 ls 和 ps,它们是 linesize 和 pagesize 可能对作为 SAS UE 中默认目标的 HTML 输出没有任何影响。

【讨论】:

  • 好吧...也许第四点是我在格式化那个代码,你能检查一下吗?谢谢。
  • 不,原来丢失了。
  • 4 很可能是问题所在,我想说。您的错误(与您发布的一样多)读作是由宏未正确结束引起的。我敢打赌,这不是第一次出现的错误——也许你第一次运行它时什么也没发生?
  • 我的钱也在#4。 #2实际上不是问题,因为运行;在宏调用之后提供。但这是一种不寻常的风格,大多数人都会避免。
猜你喜欢
  • 1970-01-01
  • 2021-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-15
  • 1970-01-01
相关资源
最近更新 更多