永洪社区

标题: 根据时间计算时长 [打印本页]

作者: yhdata_q4Ds1Z9P    时间: 前天 14:00
标题: 根据时间计算时长
如何根据截止日期下拉框里面的值和用户最后一次登录时间计算出未登录时长 , 然后根据时长来排序




作者: yhdata_lyaa    时间: 前天 14:06
新建计算列 dategaph函数 比较参数和最后一次登录时间字段
https://www.yonghongtech.com/rea ... ighlightsub=dategap
作者: yhdata_q4Ds1Z9P    时间: 前天 14:14
yhdata_lyaa 发表于 2024-12-3 14:06
新建计算列 dategaph函数 比较参数和最后一次登录时间字段
https://www.yonghongtech.com/real-help/Z-Suit ...

请问我截止日期里面的值在计算机列那里能找到?
作者: yhdata_lyaa    时间: 前天 14:28
yhdata_q4Ds1Z9P 发表于 2024-12-3 14:14
请问我截止日期里面的值在计算机列那里能找到?

截止日期是下拉参数组件吗,单选还是多选的
单选 param['下拉参数']
作者: yhdata_q4Ds1Z9P    时间: 前天 15:04
yhdata_lyaa 发表于 2024-12-3 14:28
截止日期是下拉参数组件吗,单选还是多选的
单选 param['下拉参数']

对的 是下拉参数,像最后登录时长有些用户为空的话,datagap会报空指针,这种怎么弄了?
作者: yhdata_lyaa    时间: 前天 15:18
yhdata_q4Ds1Z9P 发表于 2024-12-3 15:04
对的 是下拉参数,像最后登录时长有些用户为空的话,datagap会报空指针,这种怎么弄了? ...

计算列判断为空另外赋值呢,大概这样写
if  空
then  0
else datagap
end
作者: yhdata_q4Ds1Z9P    时间: 前天 16:13
哥 我写了三种 好像都不行,帮忙指导指导
1. iif(
    isNull(col['最后一次登录时间']),'0',dateGap(col['最后一次登录时间'],col['START_DATE'],'day') )      
2. if(col['最后一次登录时间'] is NULL))
THEN  '0'
ELSE datagap(col['最后一次登录时间'],param['截止日期'],dayofyaer)
END

3.SELECT
        USER_ID,
        CASE
                when col['最后一次登录时间'] IS NULL THEN '从未登录过'
                ELSE DATEIFF(day,col['最后一次登录时间'],param['截止日期'])
        END AS days_since_last_login
FROM
        USER;
作者: yhdata_lyaa    时间: 前天 16:31
yhdata_q4Ds1Z9P 发表于 2024-12-3 16:13
哥 我写了三种 好像都不行,帮忙指导指导
1. iif(
    isNull(col['最后一次登录时间']),'0',dateGap(col[' ...

if(isNull(col['最后一次登录时间'])==true)
THEN  '0'
ELSE datagap(col['最后一次登录时间'],param['截止日期'],dayofyaer)
END
作者: yhdata_q4Ds1Z9P    时间: 前天 17:10
yhdata_lyaa 发表于 2024-12-3 16:31
if(isNull(col['最后一次登录时间'])==true)
THEN  '0'
ELSE datagap(col['最后一次登录时间'],param['截 ...

var a = dateGap(col['最后一次登录时间'],col['START_DATE'],"dayofyear")
iif(isNull(col['最后一次登录时间'])==true,'未登录',a)

这种能将最后登录时间为空返回为‘未登录’,但是dategap函数计算出来的无法显示,报错显示为强类型转换失败,请问这个dategap出来的是一个数值嘛?
作者: yhdata_lyaa    时间: 前天 17:33
yhdata_q4Ds1Z9P 发表于 2024-12-3 17:10
var a = dateGap(col['最后一次登录时间'],col['START_DATE'],"dayofyear")
iif(isNull(col['最后一次登 ...

计算结果是数值
检查一下 col['最后一次登录时间'],param['截止日期']  都是日期类型吗
作者: yhdata_q4Ds1Z9P    时间: 昨天 09:08
yhdata_lyaa 发表于 2024-12-3 17:33
计算结果是数值
检查一下 col['最后一次登录时间'],param['截止日期']  都是日期类型吗 ...

我用isdate函数检验了一下  col['最后一次登录时间']不是日期类型,应该是文本我该用什么函数去转换为日期类型了?




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4