网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

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

时间:2023-05-19 14:38

人气:

作者:admin

标签: 中的      语句  SAS  运算符 

导读:前面通过对SAS Base的学习,我想大家对in运算符并不陌生,它广泛的应用于数据步或SQL条件语句中,进行条件判断或数据筛选,进而访问特定观测值。...

前面通过对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选项,示例如下所示。

图片

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信