全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
721 2
2019-09-15

如何通过宏简化下述过程

我有一个宏%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调用字符串序列

因为对宏的语法不熟悉,这个需求也不好描述,网上没有搜到相关内容

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-9-16 22:49:58
那么就在文本前使用字符函数加上解析符号 &
如下测试:
复制代码

将输出结果:
复制代码

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-1-13 16:01:51
whymath 发表于 2019-9-16 22:49
那么就在文本前使用字符函数加上解析符号 &
如下测试:
太感谢了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群