全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9815 4
2018-09-12
悬赏 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



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

最佳答案

wang_sheng 查看完整内容

data result; set p1; new_arrive = input(arrive,ymddttm18.); new_left = input(left,ymddttm18.); time_len = intck('MINUTE', new_arrive, new_left); run;
二维码

扫码加我 拉你入群

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

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

全部回复
2018-9-12 17:10:41
data result;
    set p1;
    new_arrive = input(arrive,ymddttm18.);
    new_left = input(left,ymddttm18.);
    time_len = intck('MINUTE', new_arrive, new_left);
run;
二维码

扫码加我 拉你入群

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

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

2018-9-13 22:18:52
你分明用到了减法。

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

扫码加我 拉你入群

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

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

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 秒

刚接触,看不懂,不知道怎么改,求大神指点。
二维码

扫码加我 拉你入群

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

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

2019-4-18 16:44:15
很好 有帮助
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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