如何在SAS MACRO中使用FORMAT作为参数



我是这个网站的新手,我希望我能解决我的问题。

我正在尝试做一个SAS MACRO,其中我给出了几个参数。一个参数是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"是我想要给出的参数。

这是对我的宏的调用:

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

它说在SAS表格WORK.moyennes_fachier1_clus.中找不到_NAME_NOM_COMPLET

你知道我该怎么修吗?

提前感谢

致以最诚挚的问候

Cédric

您缺少一个句点。格式总是以句点结尾(对于具有十进制长度的格式,先以句点后以数字结尾)。所以你的电话需要是:

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

您也可以将句点放在format语句中,但如果这样做,则需要执行两次,因为第一个(可选)句点终止宏变量。

format _NAME_ &format_var..;

最新更新