以内に私は、私はすべてのプロットの組み合わせをキャッチできるように、ループの中で、私が作成した散布図のテンプレートを使用しようが、私は配列のためsymputXを呼び出して使用することはできませんがわかります。そのような場合にどのように処理を見つけることができますか?
上記の散布図の例は、1つの組み合わせに対してのみ見つかります。あなたはあなただけの区切り文字列を使用する必要がありますマクロ変数の値のリストを保存したい場合は
は通常あなたに
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
こんにちはTom、scatterplotの例を1つの組み合わせに追加しました。すべての組み合わせに対して同じ(この場合は3つの組み合わせ)を生成します。私は3つの数値パラメータと900の観測値を持っています。回答 –