日常工作或生活中,我们几乎时时会遇到按日期来进行数据过滤,然后进行相关的数据分析工作。在永洪BI中,我们有专门的日期过滤组件,如下图1、图2。
图片1
图片2
使用过后,我们会发现这些日期过滤组件可自定义选择日期或日期区间,满足大多数使用场景。而有很多时候我们可能会有日期快捷筛选的需求,例如:今天、昨天、前天、最近7天、最近半月......
这时如果还是使用自定义筛选日期或日期区间的话,在筛选像最近7天、最近半月这些日期区间时还需倒推一下日期区间的开始日期,就没有那么方便快捷了,而若多个使用者对最近7天(包含今天或是不包含今天?)的理解不统一也会导致最终的筛选出的数据不一致。这时如果有一个定义好的日期快捷筛选,那就不需要再去倒推日期,也不会因为不同使用者因理解不同而导致的筛选出的数据不一致的问题。
所以今天这里就简单讲讲如何使用脚本与传参组件组合起来实现一个日期快捷筛选的实用功能。
展开全文
1传参组件与脚本的简单介绍
传参组件,其作用是给参数赋值,向其他组件传递参数值,可以用来筛选数据。
脚本,永洪提供了一个嵌入式的脚本环境,通过JavaScript的语言标准来支持,可以完全访问组件的绑定,获取组件的数据、属性,以及数据的输入,或其它(如日期、时间、区域、参数等),来动态修改报告及组件的外观和行为。脚本可以在报告初始化的时候执行任务,也可以在改变报告时(如更改筛选条件)执行任务。脚本语言简单但功能强大,只需要最少的编程知识即可。
永洪脚本是永洪产品适用面较广的功能,让用户可以自己定制化一些高级需求 , 帮助您应对更复杂的业务场景。相关JS知识可上永洪官网帮助文档(点击跳转)查看学习,深入学习可参阅JavaScript书籍或教程网站。
日期快捷筛选功能实现效果
1)快捷筛选条件
当选择自定义时,右侧会弹出日期区间筛选框;若选择其他条件,如今天、昨天......则直接筛选当天或区间数据。
2)今天
3)昨天
4)最近7天
5)月初至今
6)自定义
日期快捷筛选功能实现步骤
1)
选取组件。从右侧【组件>传参组件】拖拽一个“下拉参数”,两个“文本参数”与其他数据图表进入画布即可。
2)
选中组件“下拉参数”,数据界面自定义快捷筛选条件,然后切换到设置界面更改组件名称。
TIPS:记得选中相应组件才可进行以上设置
3)
选中“文本参数”,进入设置界面,更改组件名称,隐藏标题,编辑器-数据类型选择日期类型,设置提示信息等。另一个文本参数组件记得做同样的设置。
4)
选择报告-脚本-变化时运行进行脚本编写。
var data =快捷筛选.getSelectedObjects()[0];//获取下拉参数选中值
day_0=today() //今天
day_1=dateAdd(today(),'day',-1) //昨天
day_2=dateAdd(today(),'day',-2) //前天
day_7=dateAdd(today(),'day',-6) //最近7天起始日期,此例考虑的包含今天,可根据实际调整
day_15=dateAdd(today(),'day',-14) //最近15天起始日期,同上
month_0=date(year(today()),month(today()),1) //月初
year_0=date(year(today()),1,1) //年初
//debug(year_0) //可使用debug查看值是否正确
start_date.visible=false;end_date.visible=false;//两个文本参数组件默认隐藏
if(data=='自定义'){
start_date.visible=true;end_date.visible=true;//当下拉参数选中值为“自定义”时,两个文本参数组件显示
}
if(data=='今天'){
param["start_date"]=day_0;param["end_date"]=day_0//当下拉参数选中值为“今天”时,两个文本参数组件分别设置日期且不显示
}
if(data=='昨天'){
param["start_date"]=day_1;param["end_date"]=day_1
}
if(data=='前天'){
param["start_date"]=day_2;param["end_date"]=day_2
}
if(data=='最近7天'){
param["start_date"]=day_7;param["end_date"]=day_0
}
if(data=='最近15天'){
param["start_date"]=day_15;param["end_date"]=day_0
}
if(data=='月初至今'){
param["start_date"]=month_0;param["end_date"]=day_0
}
if(data=='年初至今'){
param["start_date"]=year_0;param["end_date"]=day_0
}
上面的脚本代码可直接复制使用,注意根据实际情况做相应的调整。
5)
选中绑定好数据的图表组件,添加过滤条件。
以上就是本篇文章的全部内容,感谢您的阅读!
温馨提示
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请后台提交工单处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请后台提交工单!
【免责声明】:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
【关于转载】:
本站尊重互联网版权体系,本站部分图片、文章大部分转载于互联网、所有内容不代表本站观点、不对文章中的任何观点负责、转载的目的只用于给网民提供信息阅读,无任何商业用途,所有内容版权归原作者所有
如本站(文章、内容、图片、视频)任何资料有侵权,先说声抱歉;麻烦您请联系请后台提交工单,我们会立即删除、维护您的权益。非常感谢您的理解。
【附】:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
注:本站资源来自网络转载,版权归原作者和公司所有,如果有侵犯到您的权益,请第一时间联系我们处理!
-----------------------------------------------------------------------------------------------------------
【版权声明】:
一、本站致力于为源码爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、如有内容侵犯您的版权或其他利益的,请编辑邮件并加以说明发送到站长邮箱。站长会进行审查之后,情况属实的会在三个工作日内为您删除。
-----------------------------------------------------------------------------------------------------------
源码村资源网 » 网站js时间代码(js时间api)
1 评论