根据业务需求,特定条件满足时,部分查询项才会显示。
1、 启动模板
2、 调整数据样本
3、 将数据查询语句调整为:从订单表中筛选符合条件的全部字段,基础条件恒成立(1=1),后续根据报告类型动态追加筛选条件。若当前生成的是日报,则限定订购日期等于指定的日期;若为月报,则进一步要求订购日期的月份等于设定的月份,且年份等于设定的年份;若为年报,则仅需订购日期的年份与设定年份一致即可。整个查询通过参数type判断报告类别,并结合传入的日期、月份和年份变量,灵活构建对应的SQL筛选逻辑,确保最终获取的数据范围符合不同报表的时间维度需求,提升查询的通用性与可维护性。
4、 将参数type的默认值设为日报,参数date的默认值设为字符串类型的2010-01-03。
5、 调整表样
6、 调整表格样式如下所示
7、 为A3设定形态及自定义数据,使日报显示为日期,月报为年月,年报为年份。
8、 在B3单元格输入公式:若类型为日报,则显示日期;若为月报,则显示年份加月份;否则仅显示年份。
9、 参数设置界面
10、 参数界面样式按以下方式设置:
11、 将参数type的控件设为下拉框,选择自定义数据字典,实际值和显示值均为日报、月报、年报。
12、 将参数year的控件设为下拉框,数据字典选择自定义,显示值和实际值均为2010,备注关联2011。
13、 将month参数的控件设为下拉框,数据字典选择公式类型,在实际值中输入=range(1,6)即可完成设置。
14、 将参数date的控件设为日期类型,返回值保持默认字符串格式。
15、 设置动态参数控件的JS事件
16、 为下拉框控件添加编辑后事件,具体JavaScript代码如下所示。
17、 点击参数type的下拉控件,在属性表底部选择事件面板,添加编辑后事件,具体JS代码如下:
18、 获取当前参数值,即 type 参数的具体内容。
19、 若值为日报,则执行相应操作。
20、 若值为月报,则执行相应操作。
21、 若值为年报,则执行相应操作。
22、 }
23、 根据type参数的不同取值进行判断:若为日报,则仅显示日期选择控件;若为月报,则显示年份和月份选择控件;若为年报,则仅显示年份选择控件。
24、 存模板
25、 点击分页预览查看效果如上图所示。
评论
更多评论