1
提供されたIDの円グラフを描画するマクロがあります。基本的にテーブルから行を選択し、得られた1行テーブルを転置してから、円グラフを描画します。私が1つの観察(例えば%StudPieChart(931123)のためにそれを呼び出すと、それは完璧に動作します)。コードは次のとおりです。sasの各観測でマクロを実行しています
%MACRO StudPieChart(id);
data projekt.temp;
set projekt.cwiczenia(keep=nrInd KOL1 KOL2 KOL3 aktywnosc where= (nrInd=&id));
drop nrInd;
run;
proc transpose data=projekt.temp out=projekt.temp;
run;
proc gchart data=projekt.temp;
pie _NAME_/sumvar=COL1 percent=inside;
run;
%MEND;
ここでは、1つではなく、いくつかの観測サンプルをグラフにしたいと思います。だから私はランダムサンプルを生成し、データステップでマクロを実行しようとしました。しかし、それはもはや働かないし、私は理由もない。ここで
は、残りのコードです:
proc surveyselect data=projekt.cwiczenia out=projekt.sample(keep=nrInd) sampsize=5 NOPRINT;
run;
data _NULL_;
set projekt.sample;
%StudPieChart(nrInd);
run;
ありがとう!それは完璧に動作します。しかし、実際に実行関数の中で議論するものを説明することはできますか? –
@Kuba_ CALL EXECUTEの引数は文字列です。あなたの場合は%nrstr(%StudPieChart(の値))です。私は元の投稿に括弧を一つ残しておきましたが、追加しました。私はテストしたはずですが、あなたはデータを提供しませんでした。私の答えのリンクを参照してください。 SASユーザーガイドは、早期に頻繁にご相談ください。 –