找文章 / 找答案
  • 发帖数119
  • 粉丝1

此人很懒,什么也没有留下

  • 解答问题超厉害

    经常帮助其他会员答疑
精选问答 更多内容

时间提取

hulq玄铁三 显示全部楼层 发表于 2021-10-19 09:44:48 |阅读模式 打印 上一主题 下一主题
1
已解决

时间提取

  • hulq玄铁三
  • 2021-10-19 09:44:48
  • 发布在 论坛
9179 30
1634607562(1).jpg 大佬们,假如我现在有这一组时间数据,我需要提取他的时间日期日,然后以第一天为标准日期,每隔一天为一个标准,请问一下永洪可以实现吗?

最佳答案

永洪tech-wisiy 青铜一 关注Ta

2021-10-19 09:44:49

了解Python你应该知道不能使用多重判断比较符号吧,if条件得到的是一个布尔值,最终你的计算应该是判定结果的正确与否,js也好Python也好,这一点所有的变成语言应该都一样 if(col['计算列3']
查看完整内容
回复

使用道具 举报

精彩评论30

美滋滋白银二 显示全部楼层 发表于 2021-10-19 10:18:25
不好意思,我说错了,应该是用dateGap函数
dateGap(date1, date2, date_option)
比较两个日期按照date_option的差值。
date_option的参数有:year,quarter,month,weekofyear,dayofyear,dayofmonth,dayofweek,hour,minute,second
例如:
假如col['order_date'] 是 2010-04-13,col['receive_date'] 是 2010-04-19
dateGap(col['order_date'], col['receive_date'], 'month') = 0
dateGap(col['order_date'], col['receive_date'], 'dayofmonth') = 6
回复

使用道具 举报

永洪tech-wisiy青铜一 显示全部楼层 发表于 2021-10-19 09:44:49
hulq 发表于 2021-10-19 10:59
标准值得自己根据差值做判断来取,刚写了一个结果预期不符,我擅长的是python,js不熟,太难了 ...

了解Python你应该知道不能使用多重判断比较符号吧,if条件得到的是一个布尔值,最终你的计算应该是判定结果的正确与否,js也好Python也好,这一点所有的变成语言应该都一样
if(col['计算列3']<=3){
        9;
}else if(col['计算列3']<=5&&col['计算列3']>3){
        8;
}else if(col['计算列3']<=7&&col['计算列3']>5){
        7;
}else if(col['计算列3']<=9&&col['计算列3']>7){
        6;
}else{0;}

回复

使用道具 举报

永洪tech-wisiy青铜一 显示全部楼层 发表于 2021-10-19 09:51:12
取出来的数据具体要用于什么呢
回复

使用道具 举报

hulq玄铁三 显示全部楼层 发表于 2021-10-19 09:52:56
永洪tech-wisiy 发表于 2021-10-19 09:51
取出来的数据具体要用于什么呢

取出来为了相减然后根据标准日期划定一个标准指数
回复

使用道具 举报

永洪tech-wisiy青铜一 显示全部楼层 发表于 2021-10-19 09:58:05
hulq 发表于 2021-10-19 09:52
取出来为了相减然后根据标准日期划定一个标准指数

每隔一天一个标准这句话有点没有理解到,bi中是可以单独取到每个日的,用日期表达式可以取
回复

使用道具 举报

hulq玄铁三 显示全部楼层 发表于 2021-10-19 10:02:47
永洪tech-wisiy 发表于 2021-10-19 09:58
每隔一天一个标准这句话有点没有理解到,bi中是可以单独取到每个日的,用日期表达式可以取 ...

假如今天4号,我拿4号减1号等于三,如果相隔一天那标准指数为9,相隔两天标准指数为8,三天标准指数为7,今天的标准指数为7,以此类推,到1以后的指数都为0
回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2021-10-19 10:07:26
可以直接用日期加减,算出相差天数,用dateadd函数函数说明:
dateAdd(date, date_part, interval)
向日期列中添加指定的时间片段( interval)的 date_part, date_part的可选值为"year", "quarter", "month", "weekofyear", "dayofyear", "dayofmonth", "dayofweek", "hour", "minute", "second"。
例如:
dateAdd(col['order_date'],'month', 3)
该表达式会向订单日期添加三个月。
回复

使用道具 举报

永洪tech-wisiy青铜一 显示全部楼层 发表于 2021-10-19 10:12:26
hulq 发表于 2021-10-19 10:02
假如今天4号,我拿4号减1号等于三,如果相隔一天那标准指数为9,相隔两天标准指数为8,三天标准指数为7, ...

要用这个指数作为单独的列吗
回复

使用道具 举报

hulq玄铁三 显示全部楼层 发表于 2021-10-19 10:14:32
永洪tech-wisiy 发表于 2021-10-19 10:12
要用这个指数作为单独的列吗

对的,设置单独的列好统计
回复

使用道具 举报

hulq玄铁三 显示全部楼层 发表于 2021-10-19 10:14:48
lijie 发表于 2021-10-19 10:07
可以直接用日期加减,算出相差天数,用dateadd函数函数说明:
dateAdd(date, date_part, interval)
向日期 ...

直接相减会报错
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部