改造SAS %profile宏实现多州筛选、年龄区间过滤及余额汇总开关
调用测试
/* 调用1:多州筛选、年龄区间、显示总余额 */ %profile(Title = Report, state = %str('NY', 'CA'), age = 18-40, year = 2016, Total_balance=on); /* 调用2:单年龄筛选、不显示总余额 */ %profile(age = 39, year = 2016, Total_balance=off);
核心功能实现说明
- 多state参数支持:通过
in运算符直接匹配传入的多个州枚举值,未传参数时默认查询所有州 - age参数兼容格式:通过
%index判断参数是否包含横杠,带横杠则拆分出年龄上下限做区间匹配,否则做单值等值匹配,未传参数时默认查询所有年龄 - 汇总行开关控制:通过宏条件判断,仅当
Total_balance值为on时输出总余额汇总行,参数默认值为on
内容的提问来源于stack exchange,提问作者Lynn
相关产品推荐
相关产品推荐

