最新历史版本 :选择年月后进行年月数据的汇总 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
功能变更
11.0
-

1.2 应用场景

希望在只选择年份的时候,是按照月份进行汇总统计;同时选择年份和月份的时候,按照当前年月显示明细数据。

1)只选择年份时,如下图所示:

年效果.jpg

2)同时选择年份和月份时,如下图所示:

月效果.jpg

1.3 实现思路

用年份和月份参数来控制行高。

2. 示例编辑

2.1 新建报表

新建一张普通报表,如下图所示:

新建普通报表.png

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订单 中选择订购日期、订购日期的年份、订购日期的月份、运货费和货主省份字段,并且根据年份和月份的参数进行过滤。

如下图所示:

ds1.jpg

2)新建数据库查询 ds2输入 SQL 查询语句:

SELECT strftime('%Y',订购日期) as 年 
FROM s订单 
ORDER BY 订购日期

表示从 s订单 中选择订购日期的年份数据。

如下图所示:

ds2.jpg

3)新建数据库查询 ds3输入 SQL 查询语句:

SELECT strftime('%m',订购日期) as 月 
FROM s订单 
where 1=1 
${if(len(a)=0,'',"and strftime('%Y',订购日期) in ('"+a+"')")} 
order by 订购日期

表示从数据库表 s订单 中选择订购日期的月份数据,并且根据年份参数进行过滤。

如下图所示:

ds3.jpg

2.3 参数绑定控件

1)点击参数面板的编辑按钮进入参数面板编辑界面,将参数全部添加至参数面板中。如下图所示:

添加参数.jpg

2)参数a和参数b分别绑定下拉框控件。以参数a为例,如下图所示:

选择下拉框控件.jpg

3)分别点击右侧的「Labela」、「Labelb」,修改标签控件的控件值。如下图所示:

修改便签控件的控件值.jpg

4)设置参数a的数据字典为「数据查询」,数据集为「ds2」,实际值和显示值都为「年」。如下图所示:

参数a数据字典.jpg

5)设置参数b的数据字典为「数据查询」,数据集为「ds3」,实际值和显示值都为「月」。如下图所示:

参数b数据字典.jpg

2.4 设计报表

1)B1-D1 单元格分别输入文本。

2)B2-D3 单元格分别拖入「ds1」中的字段,设计报表样式。如下图所示:

注:第二行按照月份进行展示,第三行按照日期进行展示。

设计报表.jpg

4)选中 D2 单元格,点击右侧的的「单元格元素」,数据设置为「汇总>求和」。如下图所示:

汇总求和.jpg

2.5 添加条件属性

1)为 B2 单元格添加条件属性,属性为「行高 0毫米」,公式条件类型为「公式」,输入公式:len($b) != 0,表示当参数b中有值时,该行行高设为 0,即隐藏该行,展示第三行。如下图所示:

条件属性1.jpg

2)为 C2 单元格添加条件属性,属性为「行高 0毫米」,公式条件类型为「公式」,输入公式:len($b) = 0表示当参数b中无值时,该行行高设为 0,即隐藏该行,展示第二行。如下图所示:

条件属性2.jpg

2.6 效果预览

2.6.1 PC端

PC 端效果如 1.2 节所示。

2.6.2 移动端

App 效果如下图所示:

222

H5 效果如下图所示:

222

3. 下载模板编辑

已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\日期汇总.cpt

点击下载模板:日期汇总.cpt