历史版本16 :选择年月后进行年月数据的汇总 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 描述编辑
两个必要控件,年份和月份,客户希望,在仅仅选择年份的时候,是按照月份进行汇总统计;同时选择年份和月份的时候,按照当前年月显示明细数据。实现效果如下图:
仅选择年份时:
同时选择年份和月份时:
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表示月】
注:表示当参数“月份”中有值时,该行(即第二行)行高设为 0,即隐藏该行,展示第三行。
给B3 单元格添加条件属性
注:表示当参数“月份”中没有值时,该行(即第三行)行高设为 0,即隐藏该行,展示第二行。
5. 效果预览编辑
5.1 PC 端预览效果
保存模板,选择分页预览,实现效果如描述中所示。
5.2 移动端预览效果
App 效果:
H5 效果:
6. 已完成模板编辑
已完成的模板,可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\日期汇总.cpt