-1
我尝试使用一个循环中我创建了一个散点图模板,这样我可以抓住每一个情节的组合,但我知道我不能使用呼叫symputX数组。我怎样才能找到这种情况下的转机?
上面你可以找到一个仅适用于一个组合的散点图示例。
,如果你想存储在宏变量值的列表,你应该只使用一个分隔的字符串谢谢
data work.mycsv;
set work.mycsv;
array temp[3] x y z;
call symputX('temp',temp);
run;
%macro scatter();
%let i = 1;
%do %while (&i <= 3);
%let j = %sysevalf(&i+1);
%do %while(&j <= 3);
%if &i ne &j %then %do;
proc template;
define statgraph scatterplot;
begingraph;
entrytitle "Title";
layout overlay;
scatterplot x=&&temp[&i.] y=&&temp[&j.]/
group=Survived name="scatter" datalabel=Response;
discretelegend "scatter";
endlayout;
endgraph;
end;
%end;
%let j =%sysevalf(&j + 1);
%end;
%let i = %sysevalf(&i + 1);
%end;
%mend scatter;
%scatter();
proc sgrender data=work.mycsv template=scatterplot;
run;
没有宏数组的概念。一个类比将是一个列表,并依次访问每个项目,请参阅此处的示例http://support.sas.com/documentation/cdl/en/mcrolref/69726/HTML/default/viewer.htm#p1n2i0ewaj1zian1ria5579z1zjh.htm – Reeza
你想要宏变量TEMP包含什么?源表MYCSV中有多少观察值?发布一个简单的MYCSV示例以及您想要生成的SCATTERPLOT语句? – Tom
你好汤姆,我只为1个组合添加了散点图示例,我想为所有组合生成相同的(在这种情况下为3个组合)。我有3个数值参数和900个观测值。关于 –