永洪社区

标题: 日期过滤脚本问题 [打印本页]

作者: 晨光熹微    时间: 2023-8-25 10:32
标题: 日期过滤脚本问题
我做了一个表格组件,表格里展示从当天到未来一个月的上线计划,我绑定了一个日期过滤组件,然后通过写脚本的方式来过滤从当天到未来一个月的数据。但是每隔几天,页面就会展示错误的数据(即当天之前的历史数据),我把日期过滤组件中绑定的日期字段删除再重新添加就会恢复正常,这个情况是怎么回事呢?
具体脚本如下:
var nowdate = now()
var lastmonth = dateAdd(nowdate,"month",-1)
var tmp1 = ""
var tmp2 = ""
tmp1 = "t" + year(lastmonth) + "-" + month(lastmonth) + "-" + day(lastmonth)
tmp2 = "t" + year(nowdate) + "-" + month(nowdate) + "-" + day(nowdate)
日期过滤1.firstDates = [tmp1]
日期过滤1.secondDates = [tmp2]




作者: 喵了个汪    时间: 2023-8-25 10:58
不用写得这么麻烦吧,换一种思路,筛选日期的组件换成文本参数,改成日期类型,写脚本获取未来一个月的日期是多少,然后在图表组件中添加过滤条件 日期字段是文本参数中的日期和未来一个月的日期之间
作者: yhdata_lyaa    时间: 2023-8-25 11:01
展示从当天到未来一个月的数据集,为什么是上个月lastmonth到今天呢
作者: 晨光熹微    时间: 2023-8-25 11:05
喵了个汪 发表于 2023-8-25 10:58
不用写得这么麻烦吧,换一种思路,筛选日期的组件换成文本参数,改成日期类型,写脚本获取未来一个月的日期 ...

是添加两个文本参数吗?一个默认设置为今天,另一个写脚本获取未来要一个月的日期,然后日期字段在这两个文本参数之间,是这个意思吗?
作者: 晨光熹微    时间: 2023-8-25 11:06
yhdata_lyaa 发表于 2023-8-25 11:01
展示从当天到未来一个月的数据集,为什么是上个月lastmonth到今天呢

这个是论坛里的工作人员写的,具体见链接:
https://club.yonghongtech.com/fo ... 0%E4%B8%AA%E6%9C%88
作者: 喵了个汪    时间: 2023-8-25 11:07
晨光熹微 发表于 2023-8-25 11:05
是添加两个文本参数吗?一个默认设置为今天,另一个写脚本获取未来要一个月的日期,然后日期字段在这两个 ...

页面上添加一个文本参数就行了,未来一个月的日期写脚本赋值给参数
作者: 喵了个汪    时间: 2023-8-25 11:08
晨光熹微 发表于 2023-8-25 11:05
是添加两个文本参数吗?一个默认设置为今天,另一个写脚本获取未来要一个月的日期,然后日期字段在这两个 ...

是的,你可以试一试
作者: yhdata_lyaa    时间: 2023-8-25 11:40
晨光熹微 发表于 2023-8-25 11:06
这个是论坛里的工作人员写的,具体见链接:
https://club.yonghongtech.com/forum.php?mod=viewthread&ti ...

未来一个月要+1,
var month2 = dateAdd(nowdate,"month",+1)
也可以参考楼上的方法哦
作者: 晨光熹微    时间: 2023-8-25 14:13
yhdata_lyaa 发表于 2023-8-25 11:40
未来一个月要+1,
var month2 = dateAdd(nowdate,"month",+1)
也可以参考楼上的方法哦 ...

可以帮忙完整写下这个脚本吗?
作者: 晨光熹微    时间: 2023-8-25 14:35
yhdata_lyaa 发表于 2023-8-25 14:21
var nowdate = now()
var month1 = dateAdd(nowdate,"month",+1)
var tmp1 = ""


这怎么成了未来一个月到未来两个月的范围了

作者: yhdata_lyaa    时间: 2023-8-25 14:40
晨光熹微 发表于 2023-8-25 14:35
这怎么成了未来一个月到未来两个月的范围了

对哦,月份从0 开始,这样呢

var nowdate = now()
var month1 = dateAdd(nowdate,"month",+1)
var tmp1 = ""
var tmp2 = ""
var m1= month(nowdate)-1
var m2= month(month1)-1
tmp1 = "t" + year(nowdate) + "-" + m1 + "-" + day(nowdate)
tmp2 = "t" + year(month1 ) + "-" + m2 + "-" + day(month1 )
日期过滤1.firstDates = [tmp1]
日期过滤1.secondDates = [tmp2]







作者: 晨光熹微    时间: 2023-8-25 15:14
yhdata_lyaa 发表于 2023-8-25 14:40
对哦,月份从0 开始,这样呢

var nowdate = now()

这个可以,我试试
作者: yhdata_lyaa    时间: 2023-8-25 15:22
晨光熹微 发表于 2023-8-25 15:14
这个可以,我试试

好的




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