1

私はこのサイトの初心者です。私の問題に答えていただければ幸いです。

いくつかのパラメーターを指定する SAS MACRO を実行しようとしています。1 つのパラメーターは SAS FORMAT で、それができるかどうかはわかっています。できたとしても、やり方がわかりません。

これが私のSAS MACROコードです:

%macro creation_graphique_par_classe (listvar=,titre=,format_var=);
goptions reset=global;
PROC GCHART DATA = moyennes_fichier1_clus;
TITLE &titre;
VBAR _NAME_ / DISCRETE
SUBGROUP = _NAME_
SUMVAR = COL1
TYPE = SUM
GROUP = cluster 
coutline=black
woutline=1 ;
LABEL COL1 = "Moyenne en MW" _NAME_ = "Production" Cluster= "Classe";
FORMAT _NAME_ &format_var. cluster classe.; 
WHERE _NAME_ IN &listvar;
RUN ; QUIT ;
%mend;

したがって、「format_var」は私が与えたいパラメーターです。

私のマクロへのCALLは次のとおりです。

%creation_graphique_par_classe (listvar=&list_var_espt,titre='Production en  
Espagne',format_var=$_NAME_nom_complet);

SAS TABLE WORK.moyennes_fichier1_clus で _NAME_NOM_COMPLET が見つからないと表示されます。

どうすれば修正できるか知っていますか?

よろしくお願いします。

よろしくお願いします

セドリック

4

1 に答える 1

2

生理がありません。形式は常にピリオドで終わります (または、小数点以下の長さの形式の場合は、ピリオドの後に数字が続きます)。したがって、呼び出しは次のようにする必要があります。

%creation_graphique_par_classe (listvar=&list_var_espt,titre='Production en  
      Espagne',format_var=$_NAME_nom_complet.);

format ステートメントにピリオドを入れることもできますが、その場合、最初の (オプションの) ピリオドがマクロ変数を終了させるため、2 回行う必要があります。

format _NAME_ &format_var..;
于 2013-08-09T13:35:50.507 に答える