Parameters 如何在SAS宏中将格式用作参数?

Parameters 如何在SAS宏中将格式用作参数?,parameters,macros,format,sas,Parameters,Macros,Format,Sas,我是这个网站的新手,我希望我能有一个问题的答案 我正在尝试做一个SAS宏,其中我给出了几个参数。一个参数是SAS格式,我知道我是否能做到这一点。如果可以,我不知道怎么做 以下是我的SAS宏代码: %macro creation_graphique_par_classe (listvar=,titre=,format_var=); goptions reset=global; PROC GCHART DATA = moyennes_fichier1_clus; TITLE &titre;

我是这个网站的新手,我希望我能有一个问题的答案

我正在尝试做一个SAS宏,其中我给出了几个参数。一个参数是SAS格式,我知道我是否能做到这一点。如果可以,我不知道怎么做

以下是我的SAS宏代码:

%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\u fichier1\u clus中找不到完整的名称

你知道我该怎么修吗

提前谢谢你

致意


塞德里克

你错过了一段时间。格式始终以句点结束(对于长度为十进制的格式,句点之后是数字)。因此,您的电话需要:

%creation_graphique_par_classe (listvar=&list_var_espt,titre='Production en  
      Espagne',format_var=$_NAME_nom_complet.);
也可以将句点放在format语句中,但如果这样做,则需要执行两次,因为第一个(可选)句点终止宏变量

format _NAME_ &format_var..;

细微差别:并非所有格式都以句号结尾。(但它们都包含句点);)我已经找到了自己的解决方案,但感谢您的帮助:)@user2668031-做得好,您自己找到了解决方案。如果你认为这是对你问题的最好回答,你仍然应该接受。。(在左手边打勾)@user2668031,或者发布您找到的解决方案。StackOverflow就是帮助别人。