楼主: 秦槑槑
1090 3

[问答] (小白问题)多个条件的SAS语句是否还能 用if [推广有奖]

  • 0关注
  • 0粉丝

学前班

40%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
0 小时
注册时间
2023-4-14
最后登录
2023-4-14

楼主
秦槑槑 发表于 2023-4-14 16:16:57 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
data B;
SET A;
if A='12' and   B lt '44'   then  C='是';
if A='12' and   B gt'44'   then  C='否,已退出';
RUN;
跑不出来我想要的这两个条件,但是不能正确运行,为什么啊,是哪里错了吗


二维码

扫码加我 拉你入群

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

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

关键词:小白问题 白问题 Then Data The 初学sas 发行规模

沙发
freyabc 发表于 2023-4-14 23:06:44
在sas中,数值是不需要加上引号的,根据你的代码我推测变量B是数值性变量,那么对你的代码稍加修改就可以正常运行(ps:如果你的A也是数值型变量,对A等于12的判断同样需要去掉引号才能避免报错):
  1. data B;
  2.   SET A;
  3.   if A='12' and   B lt 44  then  C='是';
  4.   if A='12' and   B gt 44  then  C='否,已退出';
  5. RUN;
复制代码

藤椅
lebranium 发表于 2023-6-2 17:17:52
把44的引号去了试试,应该没啥问题

板凳
lira12 发表于 2023-6-10 19:17:37
为节省时间,可以连ELSE, 这样不符合条件的话就会到第二个判断

    data B;
      SET A;
      if A=12 and   B lt 44  then  C='是';
      else if A=12 and  B gt 44  then  C='否,已退出';
    RUN;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-6 09:38