1.1 问题描述
若希望通过日期控件控制所选择的年月,点击查询自动扩展显示出所选年月中的每一天的日期,要如何实现呢?
1.2 实现思路
添加一个日期控件用于选择年月,然后使用
Range函数
生成一个日期序列。
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 端效果相同,如下图所示: