989 2

关于 if then 加 input [推广有奖]

  • 0关注
  • 0粉丝

硕士生

48%

还不是VIP/贵宾

-

威望
0
论坛币
432 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
481 点
帖子
77
精华
0
在线时间
66 小时
注册时间
2017-2-23
最后登录
2022-1-27

楼主
和T娘漫游宇宙 发表于 2017-3-10 16:49:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我的数据集里的a是
2012-08-20
2012-07-21
2012-08-24
2013-08-05T10:00
2012-12-05
2012-01-20T18:30
2012-01-20T18:30
2012-07-02
...
然后我要date9.b
我写的程序如下
  1. data b;
  2.         set a;
  3.         if index(a,'T')>0;
  4.         b=input(scan(a,1,'T'),yymmdd10.);
  5.         format b date9.;
  6. run;
复制代码
这样的程序可以产生b但是为什么我改成下面的程序b就出不来
  1. data b;
  2.         set a;
  3.         if index(a,'T')>0 then b=input(scan(a,1,'T'),yymmdd10.);
  4.         format b date9.;
  5. run;
复制代码


二维码

扫码加我 拉你入群

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

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


沙发
renjingli2011 发表于 2017-3-10 17:41:44
data m;
  input a$17. @;
  cards;
2012-08-20
2012-07-21
2012-08-24
2013-08-05T10:00
2012-12-05
2012-01-20T18:30
2012-01-20T18:30
2012-07-02
;
data b;
  set m;
  if index(a,'T')>0;
  b=input(scan(a,1,'T'),yymmdd10.);
  format b date9.;
run;
data b2;
  set m;
  if index(a,'T')>0 then b=input(scan(a,1,'T'),yymmdd10.);
  format b date9.;
run;
if then的条件语句没有错,只有if的那个程序输出来的结果少了没有时间的观测。

藤椅
renjingli2011 发表于 2017-3-10 17:43:03
data m;
  input a$17. @;
  cards;
2012-08-20
2012-07-21
2012-08-24
2013-08-05T10:00
2012-12-05
2012-01-20T18:30
2012-01-20T18:30
2012-07-02
;
data b;
  set m;
  if index(a,'T')>0;
  b=input(scan(a,1,'T'),yymmdd10.);
  format b date9.;
run;
data b2;
  set m;
  if index(a,'T')>0 then b=input(scan(a,1,'T'),yymmdd10.);
  format b date9.;
run;
用if then的结果是对的,只有if的那个结果输出少了没有时间的观测。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 11:15