SAS中文论坛

标题: 如何简化if语句? 多谢! [打印本页]

作者: shiyiming    时间: 2008-9-18 17:20
标题: 如何简化if语句? 多谢!
我的code看起来很繁琐,请高手指教是否可以用比较间接的循环来做:

data a;
set b;
if name='WANG' | name='ZHANG' | name='QING' |name='wu'|name='kong';  
/*name is  a variable in file b*/
run;

有没有什么办法可以简化这个if语句。比如说,将需要提取的字符串(WANG,ZHANG,等等)先存在一个文档中,然后作一个循环,每次读取一个字符串,然后用if 语句判别,如果name=这个字符串,就保存数据,否则就继续读取下一个字符串。这个用matlab实现很简单。但是用sas 我就不会了。望高手赐教阿!!多谢多谢!
作者: shiyiming    时间: 2008-9-18 19:35
标题: Re: 如何简化if语句? 多谢!
Select 语句
作者: shiyiming    时间: 2008-9-19 01:15
标题: Re: 如何简化if语句? 多谢!
Try:

if name in ('WANG' ,'ZHANG', 'QING');
作者: shiyiming    时间: 2008-9-22 14:29
标题: Re: 如何简化if语句? 多谢!
首先用 if name in是肯定的。

如果要做字典还不如做一个宏。




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2