[可视化]
图表上方,下拉参数筛选仅七天、近14天、近一周数据
图表的横坐标是时间,在图表上方有一个下拉框,下拉内容为近7天,近14天,近一月。 希望下拉内容选择之后,下方图表对应展示近7天、14天、一个月的对应数据。
目前的做法:下拉参数中设置了脚本如下:
var sevenDay = dateAdd ( today () , 'dayofyear' ,- 7 )
var seventeenDay = dateAdd ( today () ,'dayofyear' ,-14 )
var monthDay = dateAdd ( today () ,'dayofyear' ,-30 )
下拉参数1 .setObjects( [ sevenDay,seventeenDay,monthDay]) ;
图表直接过滤:日期小于当前时间且大于下拉参数时间。
现在的问题就是,下拉参数中展示的内容直接就是日期,对用户操作非常不友好。我希望能展示仅七天这样的文字该咋办。
或者说我想实现的这个内容,用什么方法实现比较好?
免责声明:本文不代表本站立场,且不构成任何建议,请谨慎对待。
版权声明:作者保留权利,不代表本站立场。
yhdata_lyaa
显示全部楼层
发表于 2024-3-28 13:19:32
美滋滋
显示全部楼层
发表于 2024-3-28 13:27:16
1. 下拉参数直接用自定义数据,分别增加近7天,近14天,近30天三个数据。
2. 你的脚本仍然有用,然后根据下拉参数选择内容,设定一个共用参数,用该参数进行其他图表数据过滤。
具体实现可以用下面这段脚本
if (下拉参数1.getSelectedObjects()[0] == '近7天') {
selectDay =dateAdd(today(),'dayofyear',-7)
}
if (下拉参数1.getSelectedObjects()[0] == '近14天') {
selectDay =dateAdd(today(),'dayofyear',-14)
}
if (下拉参数1.getSelectedObjects()[0] == '近30天') {
selectDay =dateAdd(today(),'dayofyear',-30)
}
其他组件用参数 selectDay 进行数据过滤
行走的蜗牛
显示全部楼层
发表于 2024-3-28 13:39:22
yhdata_e1al5eAt
显示全部楼层
发表于 2024-3-28 15:02:37
谢谢你的回复,现在我把下拉参数的脚本改成你这样
if (下拉参数1.getSelectedObjects()[0] == '近7天') {
param["筛选日期"] =dateAdd(today(),'dayofyear',-7)
}
if (下拉参数1.getSelectedObjects()[0] == '近14天') {
param["筛选日期"] =dateAdd(today(),'dayofyear',-14)
}
if (下拉参数1.getSelectedObjects()[0] == '近30天') {
param["筛选日期"] =dateAdd(today(),'dayofyear',-30)
}
但是下拉参数改变的时候,数据没有过滤是咋回事涅?
yhdata_e1al5eAt
显示全部楼层
发表于 2024-3-28 15:05:39
谢谢你的回复,但是不知道为什么我安装不了这个日期参数插件
安装的时候不是显示请求超时,就是解析失败
美滋滋
显示全部楼层
发表于 2024-3-28 15:11:45
参数设定好了后,你用设定好的参数去给别的组件设定过滤条件了吗???
yhdata_e1al5eAt
显示全部楼层
发表于 2024-3-28 15:15:17
美滋滋
显示全部楼层
发表于 2024-3-28 15:19:05
那你截图看看实际效果。
我猜想是数据类型不匹配导致的
你看看你实际进行过滤的数据是什么格式的,可以考虑用下面的脚本格式化一下你的数据
比如:
param["筛选日期"] =formatdate(dateAdd(today(),'dayofyear',-7),'yyyy-MM-dd')
yhdata_e1al5eAt
显示全部楼层
发表于 2024-3-28 15:29:42