全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1607 6
2014-05-11
请教:
data b;
a=150;
if 100 le a le 200 then
b='large' and c=10 ;
else
b='small' and c=5;
run;


这段代码问题在哪儿?
我知道代码可以写成:
do;
b='large' ;
c=10 ;
end;
但是还是想知道上面那么写到底有什么错误。望不吝赐教!


二维码

扫码加我 拉你入群

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

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

全部回复
2014-5-11 17:05:20
b='large' and c=10 ; 这种写法是一个逻辑表达式,未赋值。

复制代码
二维码

扫码加我 拉你入群

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

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

2014-5-11 17:47:36
zhengbo8 发表于 2014-5-11 17:05
b='large' and c=10 ; 这种写法是一个逻辑表达式,未赋值。
意思是这种写法只能作为条件判断语句,不能用来赋值是吗?
二维码

扫码加我 拉你入群

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

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

2014-5-11 20:59:50
一个逻辑表达式的理解。
二维码

扫码加我 拉你入群

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

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

2014-5-11 22:57:57
zhengbo8 发表于 2014-5-11 20:59
b='large' and c=10 ; 即是(b='large') and (c=10)
这只是一个逻辑表达式,不是sas语句,最终结果是布尔值 ...
好吧,大概明白了。但是运行出来的结果是b=0,c为缺失值。感觉不太明白运行机制啊。
二维码

扫码加我 拉你入群

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

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

2014-5-11 23:37:01
不好意思,前面理解错了。
您看看这几个例子,若了解PDV原理,您就会明白得到这种结果的原因。

复制代码


二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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