历史版本4 :根据起始时间、结束时间扩展年月 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

如何通过起始时间和结束时间展示出该时间段内的月份?

222

2. 思路编辑

使用RANGE()函数获取时间段内的所有日期,然后使用MAPARRAY()函数将每一个日期格式化为日期所在月第一天,使用UNIQUEARRAY()函数去除重复日期得到时间段内每个月的第一天日期,使用单元格公式形态格式化日期,显示为年月。

3. 示例编辑

3.1 添加起始时间、结束时间控件

在参数面板拖入两个日期控件和查询按钮,日期控件控件名分别命名为starttimeendtime,设置日期格式为yyyy-MM-dd,设置返回值类型为日期
222
3.2 插入公式
在报表中的A1单元格插入公式:
UNIQUEARRAY(MAPARRAY(RANGE($starttime, $endtime), FORMAT(item, "yyyy-MM-01")))
222
常见的日期参考常见日期处理函数
3.3 设置单元格扩展及单元格格式
设置A1单元格的扩展属性为纵向扩展。
222

添加公式形态=FORMAT($$$, "yyyy年MM月")

222

3.4 保存与预览

起始时间控件starttime选择2017,9月,10日,点击查询,得到如下列表,显示2017-09-26至2017-12-26的所有年月:

222

已完成模板,可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\parameter\根据起始时间、结束时间扩展年月.cpt