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

目录:

1. 问题描述编辑

两个必要控件,年份和月份,客户希望,在仅仅选择年份的时候,是按照月份进行汇总统计;同时选择年份和月份的时候,按照当前年月显示明细数据。实现效果如下图:
仅选择年份时:
222
同时选择年份和月份时:
222

2. 场景限制编辑

客户的数据库中是按照datetime存储的,且客户对于sql,etl等不是很熟悉,想基于我们的产品进行开发,实现效果。
想在一张页面完成。

3. 解决方案编辑

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

4. 实现方案编辑

4.1 新建数据集
添加三个数据查询,如下:
ds1
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 订购日期
ds2 作为年控件数据字典
SELECT strftime('%Y',订购日期) as 年 FROM s订单 order by 订购日期
ds3 作为月控件数据字典
SELECT strftime('%m',订购日期) as 月 FROM s订单 where 1=1 ${if(len(a)=0,'',"and strftime('%Y',订购日期) in ('"+a+"')")} order by 订购日期
4.2 模板设计
将字段拖入对应的单元格中,如下所示:
注:第二行按照月份进行展示,第三行按照日期进行展示
4.3 添加条件属性
给B2单元格添加条件属性
222
注:表示当参数“月份”中有值时,该行(即第二行)行高设为0,即隐藏该行,展示第三行。
给B3单元格添加条件属性
222
注:表示当参数“月份”中没有值时,该行(即第三行)行高设为0,即隐藏该行,展示第二行。
4.4 保存并预览
保存模板,选择分页预览,实现效果如上图所示。
已完成的模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\日期汇总.cpt
4.5 移动端效果
app效果:

222

h5效果:

222