找文章 / 找答案
  • 发帖数12
  • 粉丝0

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

  • 解答问题超厉害

    经常帮助其他会员答疑
精选问答 更多内容

[可视化] 图表上方,下拉参数筛选仅七天、近14天、近一周数据

yhdata_e1al5eAt青铜二 显示全部楼层 发表于 2024-3-28 11:38:07 |阅读模式 打印 上一主题 下一主题
图表的横坐标是时间,在图表上方有一个下拉框,下拉内容为近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]);
图表直接过滤:日期小于当前时间且大于下拉参数时间。

现在的问题就是,下拉参数中展示的内容直接就是日期,对用户操作非常不友好。我希望能展示仅七天这样的文字该咋办。
或者说我想实现的这个内容,用什么方法实现比较好?

回复

使用道具 举报

精彩评论11

yhdata_lyaa 显示全部楼层 发表于 2024-3-28 13:19:32
下拉参数里不是写的sevenDay,seventeenDay,monthDay吗,也可以改成列表形式,可以自己写参数的名字
试试这个日期参数插件呢https://plugins.yonghongtech.com/plugin/19
回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 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
美滋滋 发表于 2024-3-28 13:27
1. 下拉参数直接用自定义数据,分别增加近7天,近14天,近30天三个数据。
2. 你的脚本仍然有用,然后根据下 ...

谢谢你的回复,现在我把下拉参数的脚本改成你这样
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
yhdata_lyaa 发表于 2024-3-28 13:19
下拉参数里不是写的sevenDay,seventeenDay,monthDay吗,也可以改成列表形式,可以自己写参数的名字
试试这 ...

谢谢你的回复,但是不知道为什么我安装不了这个日期参数插件
安装的时候不是显示请求超时,就是解析失败
回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2024-3-28 15:11:45
yhdata_e1al5eAt 发表于 2024-3-28 15:02
谢谢你的回复,现在我把下拉参数的脚本改成你这样
if (下拉参数1.getSelectedObjects()[0] == '近7天') { ...

参数设定好了后,你用设定好的参数去给别的组件设定过滤条件了吗???
回复

使用道具 举报

yhdata_e1al5eAt青铜二 显示全部楼层 发表于 2024-3-28 15:15:17
美滋滋 发表于 2024-3-28 15:11
参数设定好了后,你用设定好的参数去给别的组件设定过滤条件了吗??? ...

设置了啊
回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2024-3-28 15:19:05
那你截图看看实际效果。
我猜想是数据类型不匹配导致的
你看看你实际进行过滤的数据是什么格式的,可以考虑用下面的脚本格式化一下你的数据
比如:
param["筛选日期"]  =formatdate(dateAdd(today(),'dayofyear',-7),'yyyy-MM-dd')
回复

使用道具 举报

yhdata_e1al5eAt青铜二 显示全部楼层 发表于 2024-3-28 15:29:42
美滋滋 发表于 2024-3-28 15:19
那你截图看看实际效果。
我猜想是数据类型不匹配导致的
你看看你实际进行过滤的数据是什么格式的,可以考虑 ...

回复

使用道具 举报

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

会员等你来哦

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