如何通过宏简化下述过程
我有一个宏%sort(name=,list=)
,希望能作用于几个不同的变量字符串
%sort(name=valuation,vars=&valuation);
%sort(name=asset,vars=&asset);
%sort(name=risk,vars=&risk);
……
其中&valuation
,&asset
等是变量字符串
%let valuation=pb g_pe o_pe t_pe o_pcf t_pcf tg_peg to_peg
tt_peg sg_peg so_peg st_peg pwc i1_pb;
%let asset=lev_inv lev_cur_a lev_fix_a lev_ap lev_cur_l
lev_longd lev_tot_l lev_stock lev_re lev_tot_e;
因为一共有七个大类,我希望能简化成
%let factorname=valuation asset risk;
%let factor=&valuation &asset &risk;
%macro(name=factorname,list=&factor);
的形式
单独做到循环调用factorname是好实现的,
这里面主要的问题是需要同一个字符可以作为两种宏变量
既可以作为字符valuation
,也可以作为宏变量&valuation
调用字符串序列
因为对宏的语法不熟悉,这个需求也不好描述,网上没有搜到相关内容