我开发了一个SAS代码,它有一个带有两个参数的宏。 宏看起来像这样
%macro compare(country,attributes)
问题是我有10个国家,例如印度,美国,澳大利亚,巴基斯坦等,还有15个属性,如语言,地区,货币,life_expec,MaleFemaleRatio等。
所以我必须调用宏150次。
%compare(India,language);
%compare(India,area);
%compare(India,currency);
* ;
/* Similarly I have do the same for other attributes also */
* ;
%compare(U.S.A,language)
%compare(U.S.A,area)
/* Similarly I have do the same for other countries also */
*;
*;
*;
有没有办法把这些属性和国家/地区名称作为数组并循环遍历它们以获得相同的结果?新的sas。在此先感谢帮助我
答案 0 :(得分:4)
我建议1.将您的国家/地区和属性放入SAS表'country_attr',其中包含变量'country'和'attributes'。 2.调用执行:
data _null_;
set country_attr;
call execute ('%compare('||country||','||attributes')');
run;