yhdata_J0DfVfJD白银三
2022-10-24 11:01:42 发布在问答
【可视化】 时间控制
如果时间控件选择一个月,那么条形图时间为过去六个月的数据;如果时间控件选择大于一个月,那么数据为时间控件所选择的时间
这个要怎么实现?



1870
6
精彩评论6
yhdata_lyaa
发表于 2022-10-24 11:05:48 显示全部楼层
这个思路你想想,
写脚本计算差值dateGap
https://www.yonghongtech.com/hel ... ighlightsub=dategap
再设置赋值新的参数,
用新参数参与过滤
回复

使用道具 2#

yhdata_yzm
发表于 2022-10-24 11:10:06 显示全部楼层
写个脚本判断下呗if(month(文本参数1.getSelectedObjects()[0])-month(文本参数2.getSelectedObjects()[0])>1)
{
param['a']=6个月前的月份
param['b']=本月
}
然后用a b参数去参与报表的过滤
回复

使用道具 3#

yhdata_J0DfVfJD白银三
发表于 2022-10-24 15:27:21 显示全部楼层
if(日期过滤1.firstDates!=null && 日期过滤1.secondDates!=null&&datevalue(日期过滤1.firstDates) == datevalue(日期过滤1.secondDates))     
var start=日期过滤1.firstDates[0
var a0=parseDate(start.substring(1,(start.length())),'yyyy-MM');         
param['first']=dateAdd(a0,"month",-4);
var start=日期过滤1.secondDates[0
var a0=parseDate(start.substring(1,(start.length())),'yyyy-MM');         
param['second']=dateAdd(a0,"month",1);
}
else if(日期过滤1.firstDates!=null && 日期过滤1.secondDates!=null && datevalue(日期过滤1.firstDates) != datevalue(日期过滤1.secondDates))
{
var start=日期过滤1.firstDates[0
var a0=parseDate(start.substring(1,(start.length())),'yyyy-MM');        
param['first']=dateAdd(a0,"month",1);
var start=日期过滤1.secondDates[0
var a0=parseDate(start.substring(1,(start.length())),'yyyy-MM');      
param['second']=dateAdd(a0,"month",1);
}


我这么写也不行



回复

使用道具 4#

yhdata_lyaa
发表于 2022-10-24 15:38:18 显示全部楼层
你用的过滤组件,本身就会过滤报告了,时间控件得用参数组件
回复

使用道具 5#

yhdata_J0DfVfJD白银三
发表于 2022-10-24 15:41:05 显示全部楼层
yhdata_lyaa 发表于 2022-10-24 15:38
你用的过滤组件,本身就会过滤报告了,时间控件得用参数组件

那用日期过滤组件实现不了吗
回复

使用道具 6#

yhdata_lyaa
发表于 2022-10-24 15:42:42 显示全部楼层
yhdata_J0DfVfJD 发表于 2022-10-24 15:41
那用日期过滤组件实现不了吗

是的
回复

使用道具 7#

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

用户等你来哦

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