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

目录:

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单元格添加条件属性

说明:下图中的b为4.1 ds1中设置的订购日期的参数控件名(表示月)

【虽然但是ds1中两个参数名字都为订购日期,但需要区分控件a表示年,控件b表示月】

222

注:表示当参数“月份”中有值时,该行(即第二行)行高设为 0,即隐藏该行,展示第三行

给B3 单元格添加条件属性

222

注:表示当参数“月份”中没有值时,该行(即第三行)行高设为 0,即隐藏该行,展示第二行。

5. 效果预览编辑

5.1 PC 端预览效果

保存模板,选择分页预览,实现效果如描述中所示。

5.2 移动端预览效果

App 效果:

222

H5 效果:

222

6. 已完成模板编辑

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

点击下载模板