Sas 当我有42个字符的标题并输出到activex时,为什么在gplot退出时将syscc设置为4?
我的部门使用syscc捕获错误和警告。大多数时候,这真的很有帮助,但是,我要么遇到了一个非常奇怪的错误,要么我做错了什么 下面的代码创建一些数据,然后绘制两个图表。后一个“%put&syscc;”(其中title1设置为42个字符长的字符串)返回的值为4,但“%put&syswarningtext;”不返回任何内容,《企业指南》也没有将其标识为警告。 ETA注意:在企业指南和存储流程web应用程序中都可以看到相同的行为。 ETA注意:由于更好地处理繁忙的轴,我们需要输出到ActiveXSas 当我有42个字符的标题并输出到activex时,为什么在gplot退出时将syscc设置为4?,sas,Sas,我的部门使用syscc捕获错误和警告。大多数时候,这真的很有帮助,但是,我要么遇到了一个非常奇怪的错误,要么我做错了什么 下面的代码创建一些数据,然后绘制两个图表。后一个“%put&syscc;”(其中title1设置为42个字符长的字符串)返回的值为4,但“%put&syswarningtext;”不返回任何内容,《企业指南》也没有将其标识为警告。 ETA注意:在企业指南和存储流程web应用程序中都可以看到相同的行为。 ETA注意:由于更好地处理繁忙的轴,我们需要输出到ActiveX data
data test;
length x y 8;
infile datalines dsd;
input x y;
datalines;
1,1
2,2
;
run;
TITLE1 'This is forty one characters long. Honest';
PROC GPLOT DATA = WORK.test;
PLOT y * x;
run; quit;
%put &syscc;
%put &syswarningtext;
TITLE1 'This however, is forty two characters long';
PROC GPLOT DATA = WORK.test;
PLOT y * x;
run; quit;
%put &syscc;
%put &syswarningtext;
我做了一些调查,确定了一些事情-
该值在gplot的出口处设置,无论是在点击quit还是
后续数据步骤。
Linesize选项设置为132,因此
不是那样。
它不受图表宽度的影响-我想是的
可能会受到将标题置于图表上方的能力的影响。
有什么想法吗?NB已提交给SAS支持部门。比赛
*****************编辑***********************
根据Joe下面的回答,进一步调查。似乎选项重置的一件事=全部;是否将设备从activeX更改为空白。虽然这解决了标题问题,但它会导致实际图表(而不是示例)抛出其他错误,因为它的x轴有点拥挤。如果能让这两者都发挥作用那就太好了。同时,我认为我们会有一些奇怪的短标题 ***************************编辑2***********************************
SAS支持在这方面存在一个非常小的、低优先级的缺陷。我的第一个SAS错误 我不确定直接原因,但似乎可以通过添加
goptions reset=all;
到程序的顶部,或者在任何PROC GPLOT语句之前,当然还要添加回必要的元素。这在EG 6.1/SAS 9.4本地中
这是特定于EG的,因为在基本SAS中运行它时不会发生。它与GPLOT和GCHART一起出现,但与ODS图形程序SGPLOT等或常规程序频率无关
我还看到了一些奇怪的不一致,这表明它与41-42个字符没有确切的关系;通常情况下,我第一次跑完全程都是0,但第二次跑开始时是4。有可能其中一些与您的数据步骤有关,我后来修复了它,但它并不完全正确,而且可能与此相关——尽管肯定不是全部原因
我还拿出了假辞职书;在gplots之后,这有时似乎有影响;另一件似乎有影响的事情是标题1;在重新设置标题之前。但同样,效果不一致,从未持续到第二次跑步
我最好的猜测是,在某个地方有一个选项没有被EG很好地处理,可能与图像文件的创建有关
data test;
infile datalines dlm=',';
input x y;
datalines;
1,1
2,2
;
run;
goptions reset=all;
TITLE1 'This is forty one characters long. Honest';
PROC GPLOT DATA = WORK.test;
PLOT y * x;
run;
%put &syscc;
%put &syswarningtext;
TITLE1 'This however, is forty two characters long';
PROC GPLOT DATA = WORK.test;
PLOT y * x;
run;
%put &syscc;
%put &syswarningtext;
凉的我将在星期一回去工作时尝试修理。SAS支持人员联系说,他们认为这可能是一个bug,但他们会检查。将向他们指出这一点,以便他们可以将其包括在问题说明中。非常感谢您的帮助,但不幸的是,有一个皱纹。我们需要使用activeX,因为它可以处理轴。Goptions重置的其中一项内容=全部;是否将设备更改为空白。运行选项重置=全部;goptions设备=activex;让我们回到第一步。那么很可能activex驱动程序就是问题所在。