永洪vip

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

发帖数 6粉丝 0
yhdata_KNDEOQCl玄铁三
2024-12-4 13:09:30 发布在问答
【可视化】 时间范围筛选框怎么实现默认展示近一年后还可以自由选.....
时间范围筛选框怎么实现默认展示近一年后还可以自由选泽任一时间范围
314
8
精彩评论8
yhdata_lyaa
发表于 2024-12-4 13:30:30 显示全部楼层
是日期过滤组件吗,还是用的文本参数组件,设置默认值为1年前
回复

使用道具 2#

yhdata_KNDEOQCl玄铁三
发表于 2024-12-4 13:42:30 显示全部楼层
文本参数组件,数据类型选择日期,比如结束时间是2021203,那开始时间需默认20231203,现在组件自带的默认值设置实现不了,使用脚本实现的,但是用脚本实现就不能任意修改时间范围了,必须是1年期,想问有没有其他办法实现?
回复

使用道具 3#

yhdata_KNDEOQCl玄铁三
发表于 2024-12-4 13:44:26 显示全部楼层
现在是结束时间默认昨天,开始时间用脚本根据结束时间减12个月实现的,这样默认值实现了,但是就不能选择大于1年或者小于1年的时间区间了
回复

使用道具 4#

yhbi老6了铂金二
发表于 2024-12-4 13:48:20 显示全部楼层
本帖最后由 yhbi老6了 于 2024-12-4 13:51 编辑
yhdata_KNDEOQCl 发表于 2024-12-4 13:42
文本参数组件,数据类型选择日期,比如结束时间是2021203,那开始时间需默认20231203,现在组件自带的默认 ...

完整的脚本发出来一下,需要看一下你是怎么做默认值设置的,口头和你说,难get到双方
回复

使用道具 5#

yhdata_KNDEOQCl玄铁三
发表于 2024-12-4 13:56:00 显示全部楼层
这和脚本没有关系,脚本是能实现默认展示近1年数据的,只是使用脚本实现后时间范围筛选就默认是1年了,不能自己随便选了。我现在想实现打开报表的时候默认展示2023-12-03至2024-12-03时间范围的数据,后面我还可以自己选择任意时间范围比如2024-01-01至2024-02-29,但是因为我使用脚本把开始时间默认值写成了结束时间-12个月,导致我现在结束时间选成2024-02-29后,开始时间就自动变成2023-02-28,不让我选择2024-01-01
回复

使用道具 6#

yhdata_yzm
发表于 2024-12-4 14:01:28 显示全部楼层
新建参数a,默认值为1
脚本加一行
if(param['a']==1)
{
你的脚本
param['a']=2
}
让脚本只执行一次
回复

使用道具 7#

yhdata_青山白银一
发表于 2024-12-4 16:04:25 显示全部楼层
  1. if (日期过滤.firstDates != null && 日期过滤.secondDates != null) {
  2.         // 获取日期过滤组件选择的日期 -- 获取到的格式为:t年-月-日
  3.         var start_date = 日期过滤.firstDates[0]
  4.         var end_date = 日期过滤.secondDates[0]
  5.         //debug(start_date + '\n' + end_date)
  6.        
  7.         // 获取年、月、日
  8.         var start_date_array = start_date.substring(1,(start_date.length())).split("-")
  9.         var end_date_array = end_date.substring(1,(end_date.length())).split("-")
  10.        
  11.         // 获取的日期转化为Date, 日期过滤组件的月份默认是从0开始的,0-11月,如果是脚本获取作为参数用的需要加上一个月
  12.         var startDate = date(start_date_array[0], parseInt(start_date_array[1])+1, start_date_array[2])
  13.         var endDate = date(end_date_array[0], parseInt(end_date_array[1])+1, end_date_array[2])
  14.         //debug(startDate + '\n' + startDate)
  15. } else {
  16.         var endDate = param["_LAST_FULL_DAY_"]
  17.         var startDate = dateAdd(endDate,"year",-1)
  18.         //debug(startDate + '\n' + startDate)
  19. }
复制代码
可以试试这个,具体的时间格式自己设置下
回复

使用道具 8#

Cathy_铂金一
发表于 2024-12-4 16:14:08 显示全部楼层
yhdata_KNDEOQCl 发表于 2024-12-4 13:56
这和脚本没有关系,脚本是能实现默认展示近1年数据的,只是使用脚本实现后时间范围筛选就默认是1年了,不能 ...

你脚本是不是放在变化时运行了,放在加载时运行试试
var a = dateAdd(now() ,"day",-1)
var b=formatDate(dateAdd(a,'month',-1),"yyyy-MM-dd")
开始日期.value = b;
这是我写的一个,打开默认近一个月,然后也可以筛选更之前的,生效,你参考一下
回复

使用道具 9#

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

用户等你来哦

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