1. 概述
1.1 问题描述
若希望通过日期控件控制所选择的年月,点击查询自动扩展显示出所选年月中的每一天的日期,要如何实现呢?
1.2 实现思路
添加一个日期控件用于选择年月,然后使用 Range函数生成一个日期序列。
2. 示例
2.1 添加年月日期控件
在参数面板中拖入一个日期控件和查询按钮,在日期控件属性中将控件名改为 date,并设置日期格式为 yyyy-MM,勾选返回日期属性。
2.2 插入公式
在报表中的 A1 单元格插入公式:
RANGE(DATE(YEAR($date), MONTH($date), 1), DATE(YEAR($date), MONTH($date), DAY(DATEINMONTH($date, -1))))
或RANGE($date, DATEINMONTH($date,-1))
如下图所示:
注:常见的日期公式详情参考常见日期处理函数。
公式说明:
公式 | 说明 |
---|---|
DATEINMONTH($date, -1) | $date 表示当前年月日期控件所选时间 DATEINMONTH($date, -1) 表示返回控件所选月份最后一天的日期 若选择2020-10 则返回10月最后一天即 31 |
RANGE($date, DATEINMONTH($date,-1)) | 返回从控件所选月份第一天到最后一天的序列 |
2.3 设置扩展及单元格格式
设置单元格格式以日期型 yyyy-MM-dd 显示,并设置A1 单元格的扩展属性为纵向扩展,如下图所示
2.4 效果查看
2.4.1 PC 端
保存报表并点击「分页预览」,效果详情参见本文 1.1 节。
2.4.2 移动端
App 与 HTML5 端效果相同,如下图所示:
3. 模板下载
点击下载模板:根据选择年月自动扩展当月每一天日期.cpt