全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
11484 7
2012-08-20
SAS学习笔记目录
上一篇:SAS学习笔记之数据合并Merge
IF 和 Where:
Where比较简单,在之前的[url=SAS学习笔记之Print输出(持续更新) https://bbs.pinggu.org/forum.php? ... 080&from^^uid=2209242]Print[/url]语句中有提到过,这里主要讲IF语句
复制代码
看例子:
复制代码
稍微解读一下这个程序,sum()和upcase()都是函数
Total=sum(FirstClass,Economy);等价于Total=FirstClass+Economy;表示变量FirstClass和Economy之和作为新变量Total;
upcase(Dest)是则让变量Dest的值转换为大写字母


思考一下IF和Where的作用,发现它们非常类似,都起到数据筛选的作用,但是它们并不是等价的,主要体现在作用范围不同
IF和Where.jpg
上面的表很好的展示了Where跟IF各自作用的范围下一篇:
SAS学习笔记之画图初步




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-8-20 19:15:05
楼主加油,继续学习……
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-8-21 09:37:52
能不能对最后一个比较where和if的作用范围的表给出具体的例子?
谢谢。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-8-21 11:43:49
ryuuzt 发表于 2012-8-21 09:37
能不能对最后一个比较where和if的作用范围的表给出具体的例子?
谢谢。
下面给出一个data中的例子,前面的set步骤里,if跟where可以互相替换(因为这里是单数据集)。

where Date lt '14dec2000'd;
if Total gt 175;
后面的if由于是赋值语句,所以不能用where替换(assignment statement)
if upcase(Dest)='DFW' then do;
Revenue=sum(1500*FirstClass,900*Economy);
City='Dallas';
end;
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-8-22 10:53:27
zhou.wen 发表于 2012-8-21 11:43
下面给出一个data中的例子,前面的set步骤里,if跟where可以互相替换(因为这里是单数据集)。
[/backco ...
谢谢。很用心。
继续跟踪学习。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-8-23 16:02:58
赞一个
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群