楼主: 123369987
418 2

[问答] sas数据集中的日期计算(相减) [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

小学生

78%

还不是VIP/贵宾

-

威望
0
论坛币
9 个
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
109 点
帖子
5
精华
0
在线时间
10 小时
注册时间
2018-8-25
最后登录
2018-9-20

123369987 发表于 2018-9-12 17:10:40 |显示全部楼层
1论坛币

ARRIVE

LEFT

2017-01-01 14:10:07

2017-01-01 14:43:13

2017-01-01 14:12:39

2017-01-01 14:51:50

2017-01-01 14:44:21

2017-01-01 15:19:41

data a;

set p1;

A=left -arrive;

run;



15   data a;
16
17   set p1;
18
19   A=left -arrive;
20
21   run;

NOTE: 字符值已转换为数值,位置:(行:列)。
      19:3   19:9
NOTE: 无效的数值数据 LEFT='2017-01-01 14:43:13' 出现在行 19 列 3。
NOTE: 无效的数值数据 ARRIVE='2017-01-01 14:10:07' 出现在行 19 列 9。
ARRIVE=2017-01-01 14:10:07 LEFT=2017-01-01 14:43:13 A=. _ERROR_=1 _N_=1
NOTE: 无效的数值数据 LEFT='2017-01-01 14:51:50' 出现在行 19 列 3。
NOTE: 无效的数值数据 ARRIVE='2017-01-01 14:12:39' 出现在行 19 列 9。
ARRIVE=2017-01-01 14:12:39 LEFT=2017-01-01 14:51:50 A=. _ERROR_=1 _N_=2
NOTE: 无效的数值数据 LEFT='2017-01-01 15:19:41' 出现在行 19 列 3。
NOTE: 无效的数值数据 ARRIVE='2017-01-01 14:44:21' 出现在行 19 列 9。
ARRIVE=2017-01-01 14:44:21 LEFT=2017-01-01 15:19:41 A=. _ERROR_=1 _N_=3
NOTE: 缺失值的生成是对缺失值执行操作的结果。
       指定每个位置的方式: (次数)(行:列)。
      3 19:8
NOTE: 有 3 个从数据集 WORK.P1 读取的观测。
NOTE: 数据集 WORK.A 有 3 个观测和 3 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.02 秒
      CPU 时间          0.03 秒

ARRIVE

LEFT

A

2017-01-01 14:10:07

2017-01-01 14:43:13

2017-01-01 14:12:39

2017-01-01 14:51:50

2017-01-01 14:44:21

2017-01-01 15:19:41



文本是字符型,想要求两个时间的差值,结果最好是分钟,求大神指点。

回帖推荐

whymath 发表于2楼  查看完整内容

你分明用到了减法。 数值型变量才能做运算,试试把字符型变量转先换成数值吧
stata SPSS
whymath 发表于 2018-9-13 22:18:52 |显示全部楼层
你分明用到了减法。

数值型变量才能做运算,试试把字符型变量转先换成数值吧
回复

使用道具 举报

123369987 发表于 2018-9-14 11:02:57 |显示全部楼层
whymath 发表于 2018-9-13 22:18
你分明用到了减法。

数值型变量才能做运算,试试把字符型变量转先换成数值吧
data q1;
set a.p1;
DATE_New=input(arrive yymmddhhmmss20);
format DATE_New yymmddhhmmss20;
run;


347
348  data q1;
349  set a.p1;
350  DATE_New=input(arrive yymmddhhmmss20);
                           --------------
                           388
                           76
ERROR 388-185: 期望算术运算符。

ERROR 76-322: 语法错误,语句将被忽略。

351  format DATE_New yymmddhhmmss20;
352  run;

NOTE: SAS 系统由于错误而停止了该步的处理。
WARNING: 数据集 WORK.Q1 可能不完整。该步停止时,共有 0 个观测和 4 个变量。
WARNING: 数据集 WORK.Q1 由于该步已停止,而没有被替换。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.01 秒
      CPU 时间          0.01 秒

刚接触,看不懂,不知道怎么改,求大神指点。
回复

使用道具 举报

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

GMT+8, 2018-9-23 17:19