SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 888|回复: 3
打印 上一主题 下一主题

如何简化if语句? 多谢!

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-9-18 17:20:58 | 只看该作者

如何简化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 我就不会了。望高手赐教阿!!多谢多谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-9-18 19:35:40 | 只看该作者

Re: 如何简化if语句? 多谢!

Select 语句
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2008-9-19 01:15:08 | 只看该作者

Re: 如何简化if语句? 多谢!

Try:

if name in ('WANG' ,'ZHANG', 'QING');
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2008-9-22 14:29:04 | 只看该作者

Re: 如何简化if语句? 多谢!

首先用 if name in是肯定的。

如果要做字典还不如做一个宏。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 23:51 , Processed in 0.078520 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表