永洪社区

标题: 如何动态获取时间范围 [打印本页]

作者: CChuan    时间: 2023-3-17 17:26
标题: 如何动态获取时间范围
比如说现在是下拉参数选的是2023-03,那展示的是近一年的数据,我换成2022-12,那展示的就是2022-01到2022-12的数据,这种动态效果要怎么做啊?
作者: yhdata_ruby    时间: 2023-3-17 17:26
搬砖人 发表于 2023-3-23 14:59
看差了
param['终止时间']=formatDate(today(),'yyyy-MM')
终止时间.setSelectedObjects(],STRING);

param['起始时间']=formatDate(dateAdd(parseDate(param['终止时间'],'yyyy-MM'),"month",-12),'yyyy-MM')
作者: yhdata_ruby    时间: 2023-3-17 17:32
使用dateadd设置一个前12个月的数据,赋值给一个参数,对需要筛选的组件设置时间在这个参数和下拉参数之间
作者: CChuan    时间: 2023-3-20 09:27
yhdata_ruby 发表于 2023-3-17 17:32
使用dateadd设置一个前12个月的数据,赋值给一个参数,对需要筛选的组件设置时间在这个参数和下拉参数之间 ...

这个思路我知道,但是永洪这个我不会啊
作者: yhdata_ruby    时间: 2023-3-20 09:32
搬砖人 发表于 2023-3-20 09:27
这个思路我知道,但是永洪这个我不会啊

是哪里不太清楚
作者: DX188    时间: 2023-3-20 09:34
var date = 下拉参数
dateAdd(date, "month", -12);
作者: CChuan    时间: 2023-3-20 14:29
DX188 发表于 2023-3-20 09:34
var date = 下拉参数
dateAdd(date, "month", -12);

貌似不可以
作者: CChuan    时间: 2023-3-20 14:30
yhdata_ruby 发表于 2023-3-20 09:32
是哪里不太清楚

就是这个脚本在永洪这边不会啊
作者: DX188    时间: 2023-3-20 14:33
搬砖人 发表于 2023-3-20 14:29
貌似不可以

下拉参数直接引用即可
作者: yhdata_ruby    时间: 2023-3-20 14:35
搬砖人 发表于 2023-3-20 14:30
就是这个脚本在永洪这边不会啊

var a=下拉参数1.getSelectedObjects()[0]
param['a']=dateAdd(a,'month',-12)
然后对组件过滤时间在参数a和下拉参数之间
作者: CChuan    时间: 2023-3-20 15:26
yhdata_ruby 发表于 2023-3-20 14:35
var a=下拉参数1.getSelectedObjects()[0]
param['a']=dateAdd(a,'month',-12)
然后对组件过滤时间在参数 ...

debug出来为空啊?

作者: yhdata_ruby    时间: 2023-3-20 15:27
搬砖人 发表于 2023-3-20 15:26
debug出来为空啊?

下拉参数要先选值
作者: CChuan    时间: 2023-3-20 15:29
yhdata_ruby 发表于 2023-3-20 15:27
下拉参数要先选值

选了呀,下拉参数debug出来是有数
作者: CChuan    时间: 2023-3-20 15:30
yhdata_ruby 发表于 2023-3-20 15:27
下拉参数要先选值

下拉参数默认选择第一个了
作者: yhdata_ruby    时间: 2023-3-20 15:31
搬砖人 发表于 2023-3-20 15:30
下拉参数默认选择第一个了

所以现在还有什么问题,对组件直接过滤就行了
作者: CChuan    时间: 2023-3-20 15:33
yhdata_ruby 发表于 2023-3-20 15:31
所以现在还有什么问题,对组件直接过滤就行了

a参数debug为空
作者: yhdata_ruby    时间: 2023-3-20 15:34
搬砖人 发表于 2023-3-20 15:33
a参数debug为空

看看你的脚本
作者: CChuan    时间: 2023-3-20 15:36
yhdata_ruby 发表于 2023-3-20 15:34
看看你的脚本

var a=年月.getSelectedObjects()[0]
param['a']=dateAdd(a,'month',-12)
debug(param['a'])
debug(param['年月'])
作者: yhdata_ruby    时间: 2023-3-20 15:40
搬砖人 发表于 2023-3-20 15:36
var a=年月.getSelectedObjects()[0]
param['a']=dateAdd(a,'month',-12)
debug(param['a'])


有吧,那你把param['a']换成param['b']呢



作者: CChuan    时间: 2023-3-20 15:43
yhdata_ruby 发表于 2023-3-20 15:40
有吧,那你把param['a']换成param['b']呢

还是一样
作者: yhdata_ruby    时间: 2023-3-20 15:44
搬砖人 发表于 2023-3-20 15:43
还是一样

下拉参数里面显示值了吗
作者: CChuan    时间: 2023-3-20 15:53
yhdata_ruby 发表于 2023-3-20 15:44
下拉参数里面显示值了吗

有啊

作者: yhdata_ruby    时间: 2023-3-20 16:08
搬砖人 发表于 2023-3-20 15:53
有啊

用咖啡数据集做一个测试报告看看,还是不行的话导出我们看看
作者: CChuan    时间: 2023-3-20 16:57
yhdata_ruby 发表于 2023-3-20 16:08
用咖啡数据集做一个测试报告看看,还是不行的话导出我们看看

用咖啡市场可以,绝了
作者: yhdata_ruby    时间: 2023-3-20 17:14
搬砖人 发表于 2023-3-20 16:57
用咖啡市场可以,绝了

啊,那个字段不是日期字段吗
作者: CChuan    时间: 2023-3-20 17:17
yhdata_ruby 发表于 2023-3-20 17:14
啊,那个字段不是日期字段吗

字符串类型的
作者: yhdata_ruby    时间: 2023-3-20 17:18
搬砖人 发表于 2023-3-20 17:17
字符串类型的

这里不能改成字符串类型,字符串类型不能作比较,只能把数据改成日期类型
作者: CChuan    时间: 2023-3-20 17:21
yhdata_ruby 发表于 2023-3-20 17:18
这里不能改成字符串类型,字符串类型不能作比较,只能把数据改成日期类型 ...

可以转换为日期类型的吗?
作者: yhdata_ruby    时间: 2023-3-20 17:23
搬砖人 发表于 2023-3-20 17:21
可以转换为日期类型的吗?

可以啊,把这个字段要么在数据集直接改成日期类型,要么在制作界面新建计算列使用parsedate函数转换成日期类型然后用这个计算列去绑定
作者: CChuan    时间: 2023-3-20 17:29
yhdata_ruby 发表于 2023-3-20 17:23
可以啊,把这个字段要么在数据集直接改成日期类型,要么在制作界面新建计算列使用parsedate函数转换成日 ...

这个在数据集里面怎么改啊?
作者: yhdata_ruby    时间: 2023-3-20 17:32
搬砖人 发表于 2023-3-20 17:29
这个在数据集里面怎么改啊?


这里修改



作者: CChuan    时间: 2023-3-20 17:33
yhdata_ruby 发表于 2023-3-20 17:32
这里修改

好像修改不了
作者: yhdata_ruby    时间: 2023-3-20 17:38
搬砖人 发表于 2023-3-20 17:33
好像修改不了

那只有新建计算列了
作者: CChuan    时间: 2023-3-20 17:39
yhdata_ruby 发表于 2023-3-20 17:38
那只有新建计算列了

新建计算列要怎么写啊???
作者: yhdata_ruby    时间: 2023-3-20 17:40
搬砖人 发表于 2023-3-20 17:39
新建计算列要怎么写啊???

前面有说用parsedate去写
作者: CChuan    时间: 2023-3-20 17:58
yhdata_ruby 发表于 2023-3-20 17:40
前面有说用parsedate去写

真的是计算列吗?显示我的语法有错误
作者: yhdata_ruby    时间: 2023-3-20 17:59
搬砖人 发表于 2023-3-20 17:58
真的是计算列吗?显示我的语法有错误

肯定写错了才会显示啊,截图看一下
作者: CChuan    时间: 2023-3-20 18:01
yhdata_ruby 发表于 2023-3-20 17:59
肯定写错了才会显示啊,截图看一下

好了好了
作者: yhdata_ruby    时间: 2023-3-20 18:02
搬砖人 发表于 2023-3-20 18:01
好了好了

现在应该就可以了,你再试试
作者: CChuan    时间: 2023-3-23 14:34
yhdata_ruby 发表于 2023-3-20 18:02
现在应该就可以了,你再试试

能不能用两个参数过滤啊,用终止时间来控制起始时间达到时间范围是12个月?
作者: yhdata_ruby    时间: 2023-3-23 14:35
搬砖人 发表于 2023-3-23 14:34
能不能用两个参数过滤啊,用终止时间来控制起始时间达到时间范围是12个月? ...

还是用dateadd,写到终止的前12个月就好了
作者: CChuan    时间: 2023-3-23 14:40
yhdata_ruby 发表于 2023-3-23 14:35
还是用dateadd,写到终止的前12个月就好了

param['终止时间']=formatDate(today(),'yyyy-MM')
终止时间.setSelectedObjects([param['终止时间']],STRING);
param['起始时间']=formatDate(dateAdd(param['终止时间'],"month",-12),'yyyy-MM')
起始时间.setSelectedObjects([param['起始时间']],STRING);
debug(param['终止时间'])
debug(param['起始时间'])
我这样写有问题吗?
作者: yhdata_ruby    时间: 2023-3-23 14:42
搬砖人 发表于 2023-3-23 14:40
param['终止时间']=formatDate(today(),'yyyy-MM')
终止时间.setSelectedObjects(],STRING);
param['起始 ...

formatdate把today变成字符串形式了,后面起始用dateadd就不起作用,在dateadd后面写个parsedate
作者: CChuan    时间: 2023-3-23 14:49
yhdata_ruby 发表于 2023-3-23 14:42
formatdate把today变成字符串形式了,后面起始用dateadd就不起作用,在dateadd后面写个parsedate ...

param['终止时间']=formatDate(today(),'yyyy-MM')
终止时间.setSelectedObjects([param['终止时间']],STRING);
param['起始时间']=formatDate(parseDate(dateAdd(param['终止时间'],"month",-12),'yyyy-MM')) //起始时间-4个月
起始时间.setSelectedObjects([param['起始时间']],STRING); //勾选下拉框
debug(param['终止时间'])
debug(param['起始时间'])
这样???
作者: yhdata_ruby    时间: 2023-3-23 14:51
搬砖人 发表于 2023-3-23 14:49
param['终止时间']=formatDate(today(),'yyyy-MM')
终止时间.setSelectedObjects(],STRING);
param['起始 ...

在dateadd后面写parsedate,dateadd(parsedate
作者: CChuan    时间: 2023-3-23 14:59
yhdata_ruby 发表于 2023-3-23 14:51
在dateadd后面写parsedate,dateadd(parsedate

看差了
param['终止时间']=formatDate(today(),'yyyy-MM')
终止时间.setSelectedObjects([param['终止时间']],STRING);
param['起始时间']=formatDate(dateAdd(parseDate(param['终止时间'],"month",-12),'yyyy-MM'))//起始时间-4个月
起始时间.setSelectedObjects([param['起始时间']],STRING); //勾选下拉框
debug(param['终止时间'])
debug(param['起始时间'])
这样吗?
debug出来的起始时间是为空的啊




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