循环遍历sas中

时间:2015-06-30 14:06:03

标签: sas

我开发了一个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。在此先感谢帮助我

1 个答案:

答案 0 :(得分:4)

我建议1.将您的国家/地区和属性放入SAS表'country_attr',其中包含变量'country'和'attributes'。 2.调用执行:

data _null_;
 set country_attr;
 call execute ('%compare('||country||','||attributes')');
 run;