1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
1.2 应用场景
希望在只选择年份的时候,是按照月份进行汇总统计;同时选择年份和月份的时候,按照当前年月显示明细数据。
1)只选择年份时,如下图所示:
2)同时选择年份和月份时,如下图所示:
1.3 实现思路
用年份和月份参数来控制行高。
2. 示例
2.1 新建报表
新建一张普通报表,如下图所示:
2.2 准备数据
1)新建数据库查询 ds1,输入 SQL 查询语句:
SELECT 订购日期,strftime('%Y',订购日期) as 年,strftime('%m',订购日期) as 月 ,运货费,货主省份
FROM s订单
where 1=1
${if(len(a)=0,'',"and strftime('%Y',订购日期) in ('"+a+"')")}
${if(len(b)=0,'',"and strftime('%m',订购日期) in ('"+b+"')")}
order by 订购日期
表示从数据库表 s订单 中选择订购日期、订购日期的年份、订购日期的月份、运货费和货主省份字段,并且根据年份和月份的参数进行过滤。
如下图所示:
2)新建数据库查询 ds2,输入 SQL 查询语句:
SELECT strftime('%Y',订购日期) as 年
FROM s订单
ORDER BY 订购日期
表示从 s订单 中选择订购日期的年份数据。
如下图所示:
3)新建数据库查询 ds3,输入 SQL 查询语句:
SELECT strftime('%m',订购日期) as 月
FROM s订单
where 1=1
${if(len(a)=0,'',"and strftime('%Y',订购日期) in ('"+a+"')")}
order by 订购日期
表示从数据库表 s订单 中选择订购日期的月份数据,并且根据年份参数进行过滤。
如下图所示:
2.3 参数绑定控件
1)点击参数面板的编辑按钮进入参数面板编辑界面,将参数全部添加至参数面板中。如下图所示:
2)参数a和参数b分别绑定下拉框控件。以参数a为例,如下图所示:
3)分别点击右侧的「Labela」、「Labelb」,修改标签控件的控件值。如下图所示:
4)设置参数a的数据字典为「数据查询」,数据集为「ds2」,实际值和显示值都为「年」。如下图所示:
5)设置参数b的数据字典为「数据查询」,数据集为「ds3」,实际值和显示值都为「月」。如下图所示:
2.4 设计报表
1)B1-D1 单元格分别输入文本。
2)B2-D3 单元格分别拖入「ds1」中的字段,设计报表样式。如下图所示:
注:第二行按照月份进行展示,第三行按照日期进行展示。
4)选中 D2 单元格,点击右侧的的「单元格元素」,数据设置为「汇总>求和」。如下图所示:
2.5 添加条件属性
1)为 B2 单元格添加条件属性,属性为「行高 0毫米」,公式条件类型为「公式」,输入公式:len($b) != 0,表示当参数b中有值时,该行行高设为 0,即隐藏该行,展示第三行。如下图所示:
2)为 C2 单元格添加条件属性,属性为「行高 0毫米」,公式条件类型为「公式」,输入公式:len($b) = 0,表示当参数b中无值时,该行行高设为 0,即隐藏该行,展示第二行。如下图所示:
2.6 效果预览
2.6.1 PC端
PC 端效果如 1.2 节所示。
2.6.2 移动端
App 效果如下图所示:
H5 效果如下图所示:
3. 下载模板
已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\日期汇总.cpt
点击下载模板:日期汇总.cpt