SAS运算符in在宏语句中的应用

前面通过对sas base的学习,我想大家对in运算符并不陌生,它广泛的应用于数据步或sql条件语句中,进行条件判断或数据筛选,进而访问特定观测值。
但是在sas中编写宏语句时,试图使用in运算符时log会报错,这是因为在默认情况下,sas宏解析器没有开启对in运算符的支持,而把in仅仅当成常规字符来处理,而不是运算符。那么如何在宏语句中正确使用in运算符呢,今天小编带你一一梳理,如果你是sas基础小白,请不要错过这篇推文噢
测试数据集
data test;
set sashelp.class;run;
例1:在data step中使用in语句
data test1 test2;
set test; if age in (13 14) then output test1; else if age in (11 12) then output test2;run;
test1结果如下
test2结果如下
例2:在proc sql中使用in语句
proc sql noprint;
create table test3 as select* from test where name in (jane john);quit;
结果如下:
例3:在宏语句中使用in语句
结果如下:
可以看到当我们在宏语句中使用in运算符时在日志中会报错,如果我们想要解决上述问题,这里提供两种解决方案供大家参考:
(1)method1:
可以写成&group. =1 or &group. =2,但当选择条件过多时使用or可能会比较繁琐,因此对于条件过多时不推荐使用,示例如下所示。
(2)method2:
如果我们想要开启sas宏解析器对in运算符的支持,我们可以用option语句在sas会话中适时开启,比较方便,推荐使用,示例如下所示。
如果我们只想在当前宏程序模块下运用此运算符,只需要在宏程序参数中加上minoperator选项,示例如下所示。

灭蚊灯有用吗?这场与蚊子的战争我们赢了!
黑盒和白盒方式评估电源的耗散功率
Phillips-Medisize携手U-Turn Audio提高新一代黑胶唱片机性能
iPad Mini尺寸最新照曝光 显示屏由LG生产
RIGOL DS1000Z系列数字示波器升级版隆重发布
SAS运算符in在宏语句中的应用
因湃电池动工,填补广州电池产业空白
ITMA米兰展圆满落幕 | 汇川技术与您一起“shaping the future”
iphone7销售火热的理由,iphone7参数,iphone7的优缺点
小米MIX2最新消息:小米MIX2采用天马屏?小米合伙人:那是千元机干的事!
信号为什么不能直接调制到高频载波上发射出去
展望2018年中国半导体产业的热点
青岛航空目前已拥有9架全新空客A320型客机
地震预警到底是如何实现的呢 地震的预警机制是如何建立的
2016年度旗舰:华为荣耀8、华为荣耀magic、小米MIX,让人一眼万年的手机
中国版的工业4.0正在全力推动制造业向智能制造转型升级
新Surface Pro曝出缺陷:会随机进入休眠模式或直接关机
变频器的日常维护及注意事项
电动机控制电路的工作原理和结构组成
施耐德变频器