(本文档仅供参考)
问题
如下,在参数面板中,需要实现“选择任务时间”。当选择“3个月”时,后面的日期为3月前的日期到当天的日期范围;
当选择“6个月”时,后面的日期为6月前的日期到当天的日期范围
且可以自定义具体的日期区间,进行筛选数据
解决方案
上述的需求我们可以通过构造3个参数时间。第一个参数为“选择任务时间”,控件类型为平铺面板,其值为“3个月”和“6个月”。然后构造两个日期参数,“开始日期”和“结束日期”,设置这两个参数的默认值与平铺面板参数联动,并将参数的标题隐藏即可。具体实现方式如下:
1.创建“选择任务时间”参数
(1)新建参数,命名为“选择任务时间”,数据类型为“其他类型”,控件类型为“平铺面板”,如下:
(2)设置默认值和备选值如下:
2.创建“开始日期”参数
(1)新建参数,命名为“开始日期”。数据类型为“字符串”,控件类型为“日期控件”,如下:
(2)默认值设置如下,根据“选择任务时间”参数,对当前日期减去对应的日期区间
(注:这是mysql的语法,对应语法应参考具体的数据库类型)
3.创建“结束日期”参数
同理创建结束日期参数,其默认值设置如下:
由于结束日期默认为当前日期,并不受到“3个月”、“6个月”的影响,所以只需获取当前日期即可
4.在查询中应用参数
在查询中,对数据的日期字段进行过滤即可。如下: